Python列表list和元组tuple的区别及优缺点对比

Python有序列表包括列表list和元组tuple,tuple和list是很相似的,0Python来详细说下Python列表list和元组tuple的区别及优缺点对比:

tuple和list语法结构不同

列表list使用"[]",而元组tuple则使用"()":

列表list示例:

>>> family = ['baba', 'mama', 'wo']
>>> family
['baba', 'mama', 'wo']

元组tuple示例:

family = ('baba', 'mama', 'wo')

列表和元组可变和不可变

Python列表list是可变的,而元组tuple是不可变的,我们也可以将tuple理解为是一种不可变的list。list可以使用append()insert()等方法改变list,而tuple是不可以的。

有那么绝对吗?tuple就真的不可以改变吗?举例说明:

>>> tuple = ('a', 'b', ['C', 'D'])
>>> tuple[2][0] = 'E'
>>> tuple[2][1] = 'F'
>>> tuple
('a', 'b', ['E', 'F'])

上个例子中,我们定义了一个tuple,这个tuple有三个元素,即'a'、'b'和一个list,后来我们发现tuple变了,这是由于tuple中这个list元素改变了,所以看似tuple也跟着改变了。

关于tuple不可变我们该如何理解呢?tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

2024阿里云服务器租用价格
①阿里云官方活动:https://t.aliyun.com/U/bLynLC 云服务器99元1年,新老同享,多配置特价
②代金券:领券入口 aliyun.club 免费领取12张代金券,总面值2088元优惠券。