目录
-
初识tuple
tuple是不可变的有序表
>>> classmates = ('Michael', 'Bob', 'Tracy')
-
tuple与list的区别
tuple不可变,没有append(),insert(),pop()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使用classmates[0]
,classmates[-1]
,但不能赋值成另外的元素。
-
tuple的坑
tuple定义元素
如果要定义一个空的tuple,可以写成():
>>> t = ()
>>> t
()
但是,要定义一个只有1个元素的tuple,你得这么定义:
>>> t = (1,)
>>> t
(1,)
这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,
如果没有逗号,这就产生了歧义,因此,Python规定,没有逗号的情况下,按小括号进行计算,计算结果就变成1啦。
-
tuple里的list
指针仍指向这个list,变动的是list的内容,tuple的定义:不可变的有序表
>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])