元组(tuple)跟列表(list)非常相似,二者之间的差异就是元组不可改变,list是可以改变的。
创建元组(tuple)
跟list的中括号不同,元组用圆括号把所有项括起来,元素之间用逗号分隔:
In [15]: mytuple = ('a', 'b', 3, 8.9, [1,2])
In [16]: mytuple
Out[16]: ('a', 'b', 3, 8.9, [1, 2])
In [17]: x = ('a', ) # 只有一个元素的元组
In [18]: y = () # 空元组
元组(tuple)的索引(index)
元组的索引机制跟列表完全一样,看下面的示例:
In [22]: mytuple[0]
Out[22]: 'a'
In [23]: mytuple[1]
Out[23]: 'b'
In [24]: mytuple[3]
Out[24]: 8.9
同样,元组也有负索引:
In [25]: mytuple[-1]
Out[25]: [1, 2]
In [26]: mytuple[-2]
Out[26]: 8.9
Python元组的索引可以是正索引(从头到尾),也可以是负索引(从尾到头),总结为下面的关系:
元组: ('a', 'b', 'c', 'd', 'e')
| | | | |
正索引: 0 1 2 3 4
负索引: -5 -4 -3 -2 -1
因为元组是不可修改的,我们通过索引企图修改元素时,就会报错:
In [116]: x = ('a', 1, [1,2])
In [117]: x[1] = 2
--------------------------------------------
TypeE