首页  /  后端技术  /  Python  /  Python中Tuple和List的区别与用法

Python中Tuple和List的区别与用法

 作者:白驹    来源:原创    浏览:85    日期:2021年2月24日  

Python中tuple和List的区别与用法

一、语法区别
a = [1,2,3] #list
b = (1,2,3) #tuple
语法上listtuple区别不大一个用(),[]
二、数据大小上的区别
a = [x for x in range(1000)]
s = (x for x in range(1000))
a.__sizeof__()
#执行结果9000
b.__sizeof__()
#执行结果64
在同样数据量下list的大小大于tuple,所以在实际开发中尽量使用tuplue可以节省空间,在相当数据量的情况下tuplue比list执行效率更高
三、属性上的区别
1.tupule拥有immutable(不可变)属性,不可更改、不可删除、不可排序,但是仍然可以添加数据
2.list拥有mutable(可变)属性,与tupule拥有共同添加数据的特性之外其他与之相反可以修改、排序、删除。
3.tuple增加元素之后id发生变化,而list并未发生改变:
a = [1,2,3]
s = (1,2,3)
print(id(a)) #1269895553992
print(id(s)) #1269896791288
a += [4]
s += (4,)
print(id(a)) #1269895553992
print(id(s)) #1269895360096
四、用法上
由上述可知,tuples是immutable,list是mutable的,所以我们可以将tuples用作dictionary的key,但是list不可以
因为tuples不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
参考文章:知乎作者:ShawnFeiFei
  • 评论
  • 相关评论