一、元组(tuple)
元组基本上就像一个不可改变的列表。与列表一样支持任意类型的元素、支持嵌套以及常见的序列操作。元组也有一些方法,可用dir(tuple)查看。
元组编写在圆括号中。
>>> info = ('林间','Man',1991,7,13,True) #支持不同类型
>>> info = ('林间','Man',(1991,7,13),True) #支持嵌套
>>> info[0] #支持常见的序列操作
'林间'
>>> info[:2] #切片
('林间', 'Man')
>>> info[1] = 'Women' #不可改变,对元组进行排序或重新赋值都是不行的
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
info[1] = 'Women'
TypeError: 'tuple' object does not support item assignment
创建一个元组,最重要的不是圆括号而是逗号
>>> tuple1 = (1) #单单只有圆括号不能创建一个元组
>>> type(tuple1)
<class 'int'>
>>> tuple2 = 1,2,3 #加上逗号就能成功创建元组,圆括号不是必须的
>>> type(tuple2)
<class 'tuple'>
>>> tuple3 = 1, #创建单个元素的元组
>>> type(tuple3)
<class 'tuple'>
>>> tuple4 = () #创建空元组
>>> type(tuple4)
<class 'tuple'>
更新一个元组。
之前说过元组是不可变的,所以只能通过切片、插入再覆盖变量名的形式达到更新元组的目的。
>>> info = ('林间','Man',(1991,7,13),True)
>>> info = info[:2] + (173,) + info[2:] #实际上第一行中的元组并没有消失,只是没有变量名指向它了
>>> info
('林间', 'Man', 173, (1991, 7, 13), True)
删除元组。
通过del删除整个元组
>>> info
('林间', 'Man', 173, (1991, 7, 13), True)
>>> del info
>>> info
Traceback (most recent call last):
File "<pyshell#36>", line 1, in <module>
info
NameError: name 'info' is not defined