元组

未匹配的标注

元组对象(发音为“toople”或“tuhple”,取决于你问谁)大致像一个不能被修改的列表——元组像列表一样,是序列,但它们像字符一样,是不可变的。功能上,它们被用来表示多个项的固定集合:比如,一个指定日期的组成部分。语法上看,它们通常被编码在小括号而非方括号内,且它们支持任意类型,任意嵌套和通常的序列操作:

>>> T = (1, 2, 3, 4) # 一个4个项的元组
>>> len(T) # 长度
4
>> T + (5, 6) # 连接
(1, 2, 3, 4, 5, 6)
>>> T[0] # 索引,切片等等
1

从Python2.6和3.0起,元组还有类型特有的可调用方法,但远不如列表那样多:

>>> T.index(4) # 元组方法:4出现在偏移量3的位置
3
>>> T.count(4) # 4出现了1次
1

元组的主要区别是一旦它们被创建了就不能被更改。也就是说,它们是不可变的序列(像这里的这个单项的元组需要一个末尾的逗号,即写为(2,)而非(2)):

>>> T[0] = 2 # 元组是不可变的
..error text omitted...
TypeError: 'tuple' object does not support item assignment
>>> T = (2,) + T[1:] # 创建一个新元组
>>> T
(2, 2, 3, 4)

像列表和字典一样,元组支持混合类型和嵌套,但它们不能增长和缩小,因为它们不可变(包裹元组项的小括号通常能被省略,如下所示):

T = 'spam', 3.0, [11, 22, 33]T = ('spam', 3.0, [11, 22, 33]) 等价

>>> T = 'spam', 3.0, [11, 22, 33]
>>> T[1]
3.0
>>> T[2][1]
22
>>> T.append(4)
AttributeError: 'tuple' object has no attribute 'append'

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~