In [1]: tup =tuple(['foo',[1,2],True])
In [2]: tup[2]=False---------------------------------------------------------------------------
TypeError Traceback (most recent call last)<ipython-input-2-b89d0c4ae599>in<module>()---->1 tup[2]=False
TypeError:'tuple'object does not support item assignment
元组中的某个对象是可变的,比如列表,可以在原位进行修改:
In [1]: tup =tuple(['foo',[1,2],True])
In [2]: tup[2]=False---------------------------------------------------------------------------
TypeError Traceback (most recent call last)<ipython-input-2-b89d0c4ae599>in<module>()---->1 tup[2]=False
TypeError:'tuple'object does not support item assignment
用加号可以将两个元组串连起来:
In [5]: tup +(4,5)+('val',)
Out[5]:('foo',[1,2,3],True,4,5,'val')
元素乘以一个整数,会将几个复制的元组串连起来:
In [6]:('python','java')*3
Out[6]:('python','java','python','java','python','java')
拆分元组
将元组赋值给类似元组的变量:
In [7]: tup =(1,2,3)
In [8]: a,b,c = tup
In [9]: c
Out[9]:3
python中的变量替换:
In [10]: a,b =1,2
In [11]: a
Out[11]:1
In [12]: b
Out[12]:2
In [13]: b,a = a,b
In [14]: a
Out[14]:2
In [15]: b
Out[15]:1
变量拆分常用来迭代元组或列表序列:
In [16]: seq =[(1,2,3),(4,5,6),(7,8,9)]
In [17]:for a,b,c in seq:...:print('a={0},b={1},c={2}'.format(a,b,c))...:
a=1,b=2,c=3
a=4,b=5,c=6
a=7,b=8,c=9
删除元组
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组,如下实例:
tup =('Python','Java',1997,2000)print(tup)del tup;print("删除后的元组 tup : ")print(tup)('Python','Java',1997,2000)
删除后的元组 tup :
Traceback (most recent call last):
File "<stdin>", line 1,in<module>
NameError: name 'tup'isnot defined