tuple是另一种有序的数据类型,与list比较类似。主要不同的一点是tuple被创建后就不能对其进行修改。所以,tuple与list不同,没有append(),pop(),insert()这些方法可以使用。获取元素的方法和list是一样的,可以通过索引来访问(也是从0开始的),只不过不能赋值成为其他的元素。
因为tuple不可变,所以代码更安全。如果可以的话,我们尽量使用tuple代替list。
定义一个空的tuple,使用 () :
In [1]:
t = ()
t
Out[1]:
只有1个元素的元组在进行定义的时候,需要加一个逗号 , 来消除歧义,否则定义的就不是一个元组而是元素本身:
In [2]:
t = (3)
t
Out[2]:
In [3]:
t = (3,)
t
Out[3]:
可以使用 + 对元组进行连接,例如:
In [4]:
t1 = (2,3,5)
t2 = ('ricequant','python')
t3 = t1 + t2
t3
Out[4]:
元组中的元素不能被删除,但是我们可以使用 del 删除整个元组,删除后可以重新定义:
In [5]:
t4 = ('a',2,'b')
t4
Out[5]:
In [6]:
del t4
t4
事实上,上面所说的元素不变是指每个元素的指向永远不变。即指向1,就不能改成指向2,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的,例如:
In [7]:
tup = (1,2,[3,4,5])
tup
Out[7]:
In [8]:
tup[2][0] = 7
tup[2][1] = 11
tup
Out[8]: