为什么我不能修改元组的值/内容?
假设我创建了一个元组,像这样:
>>> a = (1, 2, 3,)
我想修改它:
>>> a[0] = 10
但是这会导致一个错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
为什么元组不能被修改呢?
2 个回答
0
你可以在这里看到,元组是一种不可变的序列类型。这意味着你不能对它们进行修改。
1
tuples
(元组)和 strings
(字符串)一样,是不可变的对象,也就是说一旦创建了它们的值就不能再改变。通常你会在需要存储一些不会被修改的值时使用 tuples
,比如说常量。如果你需要修改、调整大小或者往 tuple
里添加元素,那就应该使用 lists
(列表)了。
你可以这样做:
a = (10, a[1], a[2])
或者使用列表。列表更加灵活,可以对其中的项目进行赋值和编辑。
例如:
>>> a = [1,2,3]
>>> a[0] = 10
>>> a
[10,2,3]