首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python 元组相对于数组的优势

我们知道元组tuple是Immutable(不可修改)的,而数组List是可变的,而且元组有的功能它都有,而且功能更多,应用更广,那为什么还要保留元组呢?

1.安全共享

假设你有几个关键词比如:CAR, AIRPLANE, BOAT. 如果它是数组,要在多个对象之间进行共享,数组无法避免它在共享的时候被无意地更改,如果说这三个关键词直接和数据库中某个字段做映射,这种更改则非常危险,小则导致垃圾数据的产生,大则导致某些功能出现缺陷。

元组的好处之一就在于这里,一旦三个关键词被设定为元组,则再也无法更改。非常适合用于固定关键词在对象之间的共享。

2.性能优势

我们可以做一些性能测试:

创建

>>>importtimeit

>>>print(timeit.timeit('["CAR", "AIRPLANE", "BOAT"]'))

0.0508033999999995

>>>print(timeit.timeit('("CAR", "AIRPLANE", "BOAT")'))

0.013855500000001797

可以看到,元组的创建速度仅是数组的四分之一。

空间

>>>a_tuple=("CAR","AIRPLANE","BOAT")

>>>b_list=["CAR","AIRPLANE","BOAT"]

>>>fromsysimportgetsizeof

>>>getsizeof(a_tuple)

72

>>>getsizeof(b_list)

88

可以看到,元组比数组少占用一些空间。

3.作为函数返回值

其实Python的函数多返回值就是用tuple实现的。我们知道tuple有两种定义方式,一种是不带括号的,一种是带括号的:

my_tuple="CAR","AIRPLANE","BOAT"

my_tuple2=("CAR","AIRPLANE","BOAT")

print(type(my_tuple))#

print(type(my_tuple2))#

而函数使用多返回值的时候是用逗号分隔开的,这是上述的元组第一种创建形式,因此,函数多返回值实际上返回的是一个元组。

如果你喜欢今天的Python 教程,请持续关注Python实用宝典,如果对你有帮助,麻烦在下面点一个赞/在看,有任何问题都可以在下方留言,我们会耐心解答的!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200116A0WNYD00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券