Python内置的一种数据类型,是有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改
声明tuple变量,打印变量
1.变量名 = ('xxx','yyy','zzz')
2.print(变量名)
3.('xxx','yyy','zzz')
-
tuple不能变了,它也没有
append(),insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使用变量名[0],变量名[-1],但不能赋值成另外的元素。 -
不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
tuple的陷阱:当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来
t=(1,2)
print(t)
(1,2)
- 定义空的tuple
t=()
print(len(t))
0
- 但是,要定义一个只有1个元素的tuple,如果你这么定义:
t=(1)
print(t)
1
定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。
所以,只有1个元素的tuple定义时必须加一个逗号,来消除歧义:
t=(1,)
print(t)
1
“可变的”tuple
t = ('a', 'b', ['A', 'B'])
t[2][0] = 'X'
t[2][1] = 'Y'
print(t)
('a', 'b', ['X', 'Y'])
其实变得是list元素 , ['A', 'B']
浙公网安备 33010602011771号