我发现很多文章都提供了如下示例:
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指向列表的最后一个元素,列表也不会更改。
那是为什么?