详解 Python 中的元组类型

朱雀 2020-09-12 01:03 914阅读 0赞

在 Python 中,元组(Tuple)和列表⾮常相似,与列表不同的是,元组⼀旦创⽴,就不可改变,也就是说,元组是不可变的。

与列表一样,元组也是序列,唯一的差别在于元组是不能修改的(你可能注意到了,字符串也不能修改)。元组语法很简单,只要将一些值用逗号分隔,就能自动创建一个元组。

7.1 创建元组

  1. >>> 1, 2, 3
  2. (1, 2, 3)
  3. >>> t1 = () # 创 建 一 个 空 元 组
  4. >>> t2 = (11,22,33) # 创 建 一 个 包 含 三 个 元 素 的 元 组
  5. >>> t3 = tuple([1,2,3,4]) # 使 用 列 表 创 建 元 组
  6. >>> t4 = tuple("abc") # 使 用 字 符 串 创 建 元 组

你可能会问,如何表示只包含一个值的元组呢?这有点特殊:虽然只有一个值,也必须在它后面加上逗号。

  1. >>> 42
  2. 42
  3. >>> 42,
  4. (42,)
  5. >>> (42,)
  6. (42,)

最后两个示例创建的元组长度为1,而第一个示例根本没有创建元组。逗号至关重要,仅将值用圆括号括起不管用: (42)与42完全等效。但仅仅加上一个逗号,就能完全改变表达式的值。
函数tuple的工作原理与list很像:它将一个序列作为参数,并将其转换为元组。如果参数已经是元组,就原封不动地返回它。

  1. >>> tuple([1, 2, 3])
  2. (1, 2, 3)
  3. >>> tuple('abc')
  4. ('a', 'b', 'c')
  5. >>> tuple((1, 2, 3))
  6. (1, 2, 3)

7.2 元组相关方法

元组也是序列,因此序列能使⽤的⽅法,如 max , min , len , sum ⽅法元组也能使⽤

  1. >>> t1 = (1, 12, 55, 12, 81)
  2. >>> min(t1)
  3. 1
  4. >>> max(t1)
  5. 81
  6. >>> sum(t1)
  7. 161
  8. >>> len(t1)
  9. 5

元组的切片也是元组,就像列表的切片也是列表一样。为何要熟悉元组呢?原因有以下两个。

  • 它们用作映射中的键(以及集合的成员),而列表不行。
  • 有些内置函数和方法返回元组,这意味着必须跟它们打交道。只要不尝试修改元组,与元组“打交道”通常意味着像处理列表一样处理它们(需要使用元组没有的index和count等方法时例外)。

一般而言,使用列表足以满足对序列的需求。

发表评论

表情:
评论列表 (有 0 条评论,914人围观)

还没有评论,来说两句吧...

相关阅读

    相关 详解 Python 类型

    在 Python 中,元组(Tuple)和列表⾮常相似,与列表不同的是,元组⼀旦创⽴,就不可改变,也就是说,元组是不可变的。 与列表一样,元组也是序列,唯一的差别在于元...