Python 更新元组

Python 更新元组

在Python中,元组是一个不可更改的数据类型。一旦在内存中创建,不可变对象无法修改。

示例1

如果我们尝试使用切片运算符将新值分配给元组项,Python会引发TypeError异常。请参考以下示例:

tup1 = ("a", "b", "c", "d")
tup1[2] = 'Z'
print ("tup1: ", tup1)

它将产生以下输出 输出

Traceback (most recent call last):
 File "C:\Users\mlath\examples\main.py", line 2, in <module>
  tup1[2] = 'Z'
  ~~~~^^^
TypeError: 'tuple' object does not support item assignment

因此,不可能更新元组。因此,元组类不提供像列表类那样的方法,用于向元组对象添加、插入、删除、排序项。

如何更新Python元组

您可以使用一个解决办法来更新元组。使用list()函数,将元组转换为列表,执行所需的append/insert/remove操作,然后将列表解析回元组对象。

示例2

在这里,我们将元组转换为列表,更新一个现有项,添加一个新项并对列表进行排序。然后将列表转换回元组。

tup1 = ("a", "b", "c", "d")
print ("Tuple before update", tup1, "id(): ", id(tup1))

list1 = list(tup1)
list1[2]='F'
list1.append('Z')
list1.sort()
print ("updated list", list1)

tup1 = tuple(list1)
print ("Tuple after update", tup1, "id(): ", id(tup1))

它将产生以下 输出

Tuple before update ('a', 'b', 'c', 'd') id(): 2295023084192
updated list ['F', 'Z', 'a', 'b', 'd']
Tuple after update ('F', 'Z', 'a', 'b', 'd') id(): 2295021518128

然而,需要注意的是,在更新之前和更新之后,tup1的id()是不同的。这意味着一个新的元组对象被创建,并且原始元组对象并没有被原地修改。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程