跳转至

6. 元组

元组 tuple

  • 元组是不可改变的序列,同list一样,元组可以存放任意类型的元素
  • 元组一但创建将不可改变

元组的表示方式

用小括号() 括起来,单个元素括起来后加逗号(,)区分单个对象还是元组

创建空元组的字面值表达式

t = () # () 是创建一个空的元组对象

创建非空元组的字面值表达式

  t = 200,
  t = (20,)
  t = (1, 2, 3)
  t = 100, 200, 300
注:
  type(x)函数 可以返回对象x的类型

元组错误示例

  t = (200)  # t 绑定200这个对象,不是元组
  x, y, z = 100, 200, 300  # 序列赋值
  x, y, z = (100, 200, 300)
  x, y, z = [100, 200, 300]
  x, y, z = "ABC"

元组的构造函数tuple

  tuple() 生成一个空的元组 ,等同于()
  tuple(iterable)  用可迭代对象生成一个元组

  示例:
    t = tuple()
    t = tuple("ABC")
    t = tuple(range(1, 10, 2))

元组的运算

元组只能和元组相加

  + 用于用拼接方式创建一个新的元组
  * 用于生成新的重复的元组

  t = (1,2,3)  + (4, 5, 6)  # t = (1,2,3,4,5,6)
  t += (7,8,9)  # t = (1,2,3,4,5,6,7,8,9)

  t = (1,2) * 3  # t = (1,2,1,2,1,2)
  t *= 4  # t = (1,2,1,2,1,2....)

元组的比较运算

< <= > >= == != 规则与列表的比较规则完全相同

元组的in / not in 运算符

用于判断元素是否存在于元组中,规则写列表完全相同

索引

  • 用法等于同列表的索引
  • 元组不支持索引赋值

切片

  • 用法与列表的切片用法相同
  • 元组的切片返回一个新的元组
  • 元组不能切片赋值

元组的方法

  • T.index(v[,begin[,end]]) 返回对应元素的索引下标, begin 为开始索引,end为结束索引,当v不存在时触发ValueError错误
  • T.count(x) 返回元组中对应的元素个数