6.2.3 元组

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

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

  1. >>> 1,2,3
  2. (1, 2, 3)
  3. >>> x = 1,2,3
  4. >>> x
  5. (1, 2, 3)
  6. >>> x,y,z = 1,2,3
  7. >>> x
  8. 1
  9. >>> y,z
  10. (2, 3)

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

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

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

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

表 6.5 元组对象的方法

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

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