Python可变且不可变

时间:2019-06-12 11:26:09

标签: python immutability mutable

在这个示例中,我遇到了有关python可变和不可变的信息:

t = (1, 2, [3, 4])
t[2] += [5, 6]

这将引发错误:

  

TypeError:“元组”对象不支持项目分配

直到这里我都可以理解该错误,因为t是一个元组并且元组是不可变的,但是问题是t发生了变化。

print(t)
# Output (1, 2, [3, 4, 5, 6])

另一件事是尝试通过使用appendextend来更改t [2]没有错误并且可以正常工作。

t[2].extend([7,8])
t[2].append(9)
print(t)
# Output (1, 2, [3, 4, 5, 6, 7, 8, 9])

有人可以解释吗?

0 个答案:

没有答案