为什么具有相同值的可变对象在Python中具有不同的id

D3v*_*vil -1 python

感谢您宝贵的时间,我刚开始学习Python.我遇到了Mutable和Immutable对象.据我所知,可变对象在创建后可以更改.

a = [1,2,3]
print(id(a))
45809352
a = [3,2,1]
print(id(a))
52402312
Run Code Online (Sandbox Code Playgroud)

那么为什么同一个列表"a"的id在其值被改变时会被改变.

Jea*_*bre 5

你的解释是不正确的.

分配新的lista,您可以更改其引用.

另一方面,你可以这样做:

a[:] = [3,2,1]
Run Code Online (Sandbox Code Playgroud)

然后参考不会改变.