Python 元组Tuple 相对于数组List的优势

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

1.安全共享

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

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

2.性能快

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

创建

>>> import timeit
>>> 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"]
>>> from sys import getsizeof
>>> 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)) # <class 'tuple'>
print(type(my_tuple2)) # <class 'tuple'> 

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

我们的文章到此就结束啦,如果你希望我们今天的Python 教程,请持续关注我们,如果对你有帮助,麻烦在下面点一个赞/在看哦有任何问题都可以在下方留言区留言,我们都会耐心解答的!


​Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

原文来自Python实用宝典:Python 元组Tuple 相对于数组List的优势

Python实用宝典

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值