元组
元组内容不可变,不能修改元组内部元素,列表所能进行的‘增’、‘删’、‘改’均不能在元组中使用,唯有‘查’可以,因此元组只能使用count()和index()方法。但是元组内部还有列表等可以更改元素的序列,那么这个嵌入序列的元素是可更改的
元组可以用小括号括起来,也可以不用括号,但建议一直加上小括号
可以使用下标进行索引
可以进行切片操作,用法同列表
元组可以使用加号和乘号两个运算符
元组可以进行嵌套
元组支持迭代
列表推导式可以对元组使用
创建和访问一个元组
tuple1 = (1,2,3,4,5,6,7,8)
tuple1
(1, 2, 3, 4, 5, 6, 7, 8)
tuple1[1]
2
tuple1[5:]
(6, 7, 8)
tuple1[:5]
(1, 2, 3, 4, 5)
tuple2 = tuple1[:]
tuple2
(1, 2, 3, 4, 5, 6, 7, 8)
tuple[1] = 3 #无法修改
Traceback (most recent call last):File "<pyshell#16>", line 1, in <module>tuple[1] = 3
TypeError: 'type' object does not support item assignment>>> x = (123)
>>> x
123
>>> type(x)
<class 'int'> #使用该方法创建的只是一个整形变量
>>> x = (123,) #创建单元素元组必须加上一个逗号
>>> x
(123,)
>>> type(x)
<class 'tuple'> #tuple是元组的意思 tuple的关键在于","
>>> temp = []
>>> type(temp)
<class 'list'>
>>> 8*(8)
64
>>> 8*(8,)
(8,8,8,8,8,8,8,8)
更新和删除一个元组
用切片的方式
>>> temp = ('小甲鱼', '黑夜', '迷途', '小布丁')
>>> temp = temp[:2] + ('怡静',) +temp[2:]
>>> temp
('小甲鱼', '黑夜', '怡静', '迷途', '小布丁')
打包和解包
生成一个元组称为元组的打包
将元组内的元素分别赋值给不同的变量称为元组的解包
解包同样可以使用在字符串和列表上面
>>> x = (123, 'love', 520)#打包
>>> tuple = (123, 'love', 520)
>>> x, y, z = tuple#解包
>>> x
123
>>> y
'love'
>>> z
520>>> A = 'love'
>>> a, b, c, d = A
>>> print(a,b,c,d)
l o v e>>> list = [1, 2, 3]
>>> x, y, z = list
>>> print(x, y, z)
1 2 3
使用解包赋值号左边的变量数量必须同右边的元素数量一致
若数量不一致,可以在最后一个变量前加'*'号,将序列剩下的元素全装入最后一个变量
>>> A = 'love'
>>> x, y, *z = A
>>> print(x, y, z)
l o ['v', 'e']
>>> list = [1, 2, 3, 4, 5]
>>> a, b, *c = list
>>> print(a, b, c)
1 2 [3, 4, 5]
python的多重赋值是通过打包解包实现的
>>> x, y = 10, 20#多重赋值
#等同于
>>> _ = (10, 20)
>>> a, b = _
>>> a
10
>>> b
20
