当前位置:  首页>> 技术小册>> Python合辑1-Python语言基础

元组和列表是非常相似的,有一种类似近亲的关系,也就是说列表中很多操作同样适用于元组,比如索引、切片等等,但也有一部分不同,这里主要来说一下元组的特别之处。
首先元组又被称作带锁的列表,就是元组内的元素是不能随意更改的,比如不能给元组中的一个元素随意赋值。

  1. In [2]: tuple1 = (1,2,3)
  2. In [3]: tuple1[2] = 4
  3. #会发生报错,不支持这样的操作
  4. TypeError: 'tuple' object does not support item assignment

元组的标志并不是单纯的小括号,而是逗号,或者小括号与逗号的结合,看下面这个例子。

  1. In [31]: tuple2 = (1)
  2. In [32]: type(tuple2)
  3. Out[32]: int
  4. In [33]: tuple3 = (1,)
  5. In [34]: type(tuple3)
  6. Out[34]: tuple
  7. In [35]: tuple4 = 1,2,
  8. In [36]: type(tuple4)
  9. Out[36]: tuple

那如何初始化一个空元组呢?

  1. In [39]: tuple5 = ()
  2. In [40]: type(tuple5)
  3. Out[40]: tuple

上面刚刚说过元组是不可变对象,自然也不会有append、insert、pop这类的操作。元组中增添可以利用”+”实现,删除则可以利用del,因为这是python自带的回收机制。

  1. In [42]: tuple5 = tuple5[:] + (1,2,3,4,)
  2. In [43]: tuple5
  3. Out[47]: (1, 2, 3, 4)
  4. In [50]: del tuple5 #不支持切片
  5. In [51]: tuple5
  6. NameError: name 'tuple5' is not defined

*“在数值型之间为乘积运算符,而在列表和元组之间可以表示为重复运算符。

  1. In [53]: tuple5 = (1,2)
  2. In [54]: tuple5 * 3
  3. Out[54]: (1, 2, 1, 2, 1, 2)