定义
tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。
t = ('Adam', 'Lisa', 'Bart','Jack')
创建tuple和创建list唯一不同之处是用( )
替代了[ ]
。
现在,这个 t 就不能改变了,tuple没有 append()方法,也没有insert()和pop()方法。
获取 tuple 元素的方式和 list 是一模一样的,我们可以正常使用 t[0],t[-1]等索引方式访问元素,但是不能赋值成别的元素。
tuple和list一样,可以包含 0 个、1个和任意多个元素。
注意事项
正是因为用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义:
t = ('Jack', )
Python之“可变”的tuple
t = ('Jack', 'Rose', ['A', 'B'])
注意到 t 有 3 个元素:'Jack','Rose'和一个list:['A', 'B']。list作为一个整体是tuple的第3个元素。list对象可以通过 t[2] 拿到。
tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!