tuple和list非常类似,但是tuple一旦初始化就不能修改
[toc]
创建tuple
>>> classmates = ('A', 'B', 'C')
此时,classmates这个tuple不能改变,它也没有append(),insert()这样的方法。
其他获取元素的方法和list是一样的,你可以正常地使用classmates[0],classmates[-1]
,但不能将其赋值为另外的元素。
因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
空tuple
>>> t = ()
>>> t
()
只有一个元素的tuple
错误写法
不能直接使用括号()
!!!
>>> t = (1)
>>> t
1 #定义的不是tuble,而是一个数
正解
加一个逗号,消除歧义
>>> t = (1,)
>>> t
(1,)
“可变"的tuble
当tuble中包含list元素时,仍然可以对list进行修改,tuble仍指向该list
>>> t = (1, ['x', 'y', 'z'])
>>> t[1][2] = 'a'
>>> t
(1, ['x', 'a', 'z'])
个人理解:tuble相当于一个指针数组,指向每个元素,对元素本身的更改并不会影响tuble的指向