除了list,元组tuple是Python另一种有序的数据结构。tuple和list很相似,只是tuple初始化了之后就不能再修改其指向的元素。
定义tuple时,元素使用( )括起来,元素间用,隔开。
list使用[ ],注意对比区分。
>>> tuple01 = ('12', 12, '花花')
>>> tuple01
('12', 12, '花花')
需要注意的是,当tuple中只有一个元素时,要在元素后加,,如果不加逗号,括号会被认为是算术运算时的括号,此时定义的就不是一个元组了,如tuple02:
>>> tuple01 = (1,)
>>> tuple01
(1,)
>>> tuple02 = (1)
>>> tuple02
1
元组中也可以包含列表:
>>> list01 = [1,2,'3']
>>>
>>> tuple03 = ('abc', list01, 'TT')
>>> tuple03
('abc', [1, 2, '3'], 'TT')
获取list01元素的方法类似C语言的二维数组:
>>> tuple03[1]
['modify', 2, '3']
>>> tuple03[1][0]
'modify'
>>> tuple03[1][2]
'3'
由于元组初始化后就不能再修改,所以此时不能修改tuple03的任何一个元素,但是可以修改列表list01的元素,因为修改list01并不会改变tuple03指向的元素,tuple03还是指向list01。
>>> list01[0] = 'modify'
>>> tuple03
('abc', ['modify', 2, '3'], 'TT')
>>>
>>> tuple03[0] = '1'
Traceback (most recent call last):
File "<pyshell#43>", line 1, in <module>
tuple03[0] = '1'
TypeError: 'tuple' object does not support item assignment