6.2.3 元组

第 2 章中简单介绍了元组数据类型,我们知道元组是用一对圆括号括起、用逗号分隔的多个数据项的集合体。元组也是序列的一种,可以利用表 6.1 中的序列操作对元组进行处理。 元组和列表在很多方面都是相似的,但它们有一个重要的不同点:元组不可修改,即不能对元组施加表 6.3 中的操作。如果序列的内容一经创建就不再改变,那么建议使用元组来 表示这个序列,好处是效率较高,而且可以防止出现误修改操作。

元组的括号有时可以省略,例如用在赋值语句中。我们熟悉的为多个变量同时赋值其实 是元组赋值。下面是一些例子:

>>> 1,2,3
(1, 2, 3)
>>> x = 1,2,3
>>> x
(1, 2, 3)
>>> x,y,z = 1,2,3
>>> x
1
>>> y,z
(2, 3)

元组也可以嵌套,即元组的成员本身可以是元组,例如:

>>> t = ("Lucy",("Math",90))
>>> t[1][1]
90

Python 是以面向对象的方式实现元组类型的,元组对象支持的方法见表 6.5。

方法 含义
<元组>.index(x) 返回 x 在<元组>中首次出现处的索引
<元组>.count(x) 返回<元组>中 x 的出现次数

表 6.5 元组对象的方法

元组类型的名字 tuple 可以用作构造器,将一个字符串或列表转换成元组对象。例如:

>>> tuple('hello')
('h', 'e', 'l', 'l', 'o')
>>> tuple([1,2,3])
(1, 2, 3)
>>> tuple(['hello','world'])
('hello', 'world')