元组和列表在使用上 是 非常相似的,但是列表中的元素是可以改变的,而元组中的元素是不可改变的。
创建列表的时候我们是用的是中括号([]),而创建一个元组的时候我们用的是小括号 (()),元组的访问方式是和列表相同的,分片也是一样的操作。
>>> tuple1 = (1,2,3,4,5,6,7,8)
>>> tuple1
(1, 2, 3, 4, 5, 6, 7, 8)
>>> tuple1[1]
2
>>> tuple1[1:]
(2, 3, 4, 5, 6, 7, 8)
但是元组的元素是不可修改的:
>>> tuple1[1] = 3
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
tuple1[1] = 3
TypeError: 'tuple' object does not support item assignment
值得注意的是元组的标志性符号是元组中的逗号(,),下面我们来证实一下:
>>> temp = (1)
>>> temp
1
>>> type(temp)
<class 'int'>
>>> temp = 2,3,4
>>> temp
(2, 3, 4)
>>> type(temp)
<class 'tuple'>
在我们创建一个元组时即使没有小括号,只要每一元素之间是用逗号隔开的它的类型一样是一个元组。
在以后我们运算的时候,如果需要加小括号,那么如果想进行的是算术运算千万不要在数据的后面加上逗号,如果想进行的是元组的重复操作就要加上逗号:
>>> 8 * (8)
64
>>> 8 *(8,)
(8, 8, 8, 8, 8, 8, 8, 8)
当然我们也是可以实现元组的更新的,但是使用的方法是将原有的元组分开后加入新的元素生成新的元组:
>>> temp
('buhuo', 'xingzhezui', 'xiaoyi')
>>> temp[:2]
('buhuo', 'xingzhezui')
>>> temp[2:]
('xiaoyi',)
>>> temp = temp[:2] + ('zuimiei',) + temp[2:]
>>> temp
('buhuo', 'xingzhezui', 'zuimiei', 'xiaoyi')
元组的删除,可以使用del 删除整个元组。
拼接操作符(两端要使用相同的数据类型)、重复操作符、关系操作符、成员操作符、逻辑操作符都可以使用在元组之上。