可变参考和可变性

时间:2019-06-22 16:06:12

标签: python-2.7 immutability object-reference mutability

我发现很多文章都提供了如下示例:

listA = [0]
listB = listA
listB.append(1)
print listA
print listB

该监狱将显示两个列表都指向同一对象,然后,如果该对象被更改,则两个列表都将显示该更改。实际上:

print listA is listB

显示True ...到目前为止一切顺利。

但是,我无法弄清楚为什么下面的示例不能像以前的示例那样工作。

listA = [1, 2, 3]
max_val = max(listA)

print max_val is listA[-1]  # True

max_val = 10

print max_val is listA[-1] # False

因此即使max_val指向列表的最后一个元素,列表也不会更改。

那是为什么?

0 个答案:

没有答案