一、元组(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