列表-元组(tuple)
1.创建和访问元组
>>> temp = (1,2,3,4,5,6) >>> temp[1] 2 >>> temp[5:] (6,) >>> temp[2:] (3, 4, 5, 6) >>> temp2 = temp[1:] >>> temp2 (2, 3, 4, 5, 6)
元组的访问同列表一样
2.元组不能被修改
>>>temp[1] = 9 Traceback (most recent call last): File "<pyshell#9>", line 1, in <module> temp[1] = 9 TypeError: 'tuple' object does not support item assignment
3.使用小括号创建的变量一定是元组吗?答案不是!
>>> temp3 = (1) >>> type(temp3) <class 'int'>
4.那怎样创建才是元组呢?
>>> temp4 = (1,) >>> type(temp4) <class 'tuple'> >>>
使用分隔符的前提下,不适用括号也能创建元组。
>>> temp3 = 1, >>> type(temp3) <class 'tuple'>
可知创建元组必须使用逗号分隔,即使创建只有一个元素的元组也需要使用 ','分割,tuple在Python中指元组。
5.常出的笔试题
>>> 8 * (8) 64 >>> 8 * (8,) (8, 8, 8, 8, 8, 8, 8, 8)
6.更新和删除一个元组,刚才讲过元组不能被修改,但是为什么又要讲更新和删除呢?虽然不能使用索引的方式修改元组,但是Python允许使用切片的方式对元组进行更新删除操作。
>>> temp = ('张三', '李四', '王二') >>> temp = temp[:2] + ['麻子',] + tepm[:2] Traceback (most recent call last): File "<pyshell#19>", line 1, in <module> temp = temp[:2] + ['麻子',] + tepm[:2] TypeError: can only concatenate tuple (not "list") to tuple >>> temp = temp[:2] + ('麻子',) + temp[:2] >>> temp ('张三', '李四', '麻子', '张三', '李四') >>>
虽然元组可以按照列表的方式访问数组,但是在进行运算的时候,各变量类型必须一致。
7.元组相关操作符
拼接操作符:+
参与运算的数据类型必须一致
重复操作符: *
等等。