python 在线

951Python 元组

如果截取的是一个元素,则可以写成:

>>> T = ('aa','bb','cc','dd','ee')
>>> T = T[0:3]+T[4:]
>>> print(T)
('aa', 'bb', 'cc', 'ee')

950Python 元组

切片虽然可以重新组成新的元组,但是要注意截取一个元素时候不能和新的元组相

比如:

>>> a=(1,2,3,4,5,6)
>>> c=a[1:4]+a[5]    # 报错, a[5] 被当成了整型
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate tuple (not "int") to tuple

>>> c=a[1:4]+a[2:4]   # 这样可以
>>> c
(2, 3, 4, 3, 4)

949Python 元组

元组的一级元素不可被修改增加删除但可以修改二级后的。

如修改元祖中列表,字典等内容:

>>> tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
>>> tu[1][2]["k2"].append("seven")
>>> print(tu[1][2]["k2"])
['age', 'name', 'seven']
>>>

添加元祖中的字典中的列表。

948Python 元组

进阶,可以用切片的方式更新元组:

>>> temp=(1, 2, 4, 5)
>>> temp=temp[:2]+(3,)+temp[2:]
>>> temp
(1, 2, 3, 4, 5)
>>>

947Python 元组

元组与列表的区别,元组它的关键是不可变性。

如果在程序中以列表的形式传递一个对象的集合,它可能在任何地方改变;

如果使用元组的话,则不能。

元组提供了一种完整的约束。