我了解 Python 中的深层复制,但我需要准确解释更改 a 的第一个元素后会发生什么,或者可能解释发生在这里。
>>> a=[[0,1],[2,3]]
>>> b=list(a)
>>> a
[[0, 1], [2, 3]]
>>> b
[[0, 1], [2, 3]]
>>> a[0]=[9,10]
>>> a
[[9, 10], [2, 3]]
>>> b
[[0, 1], [2, 3]]
>>> a[1][0]=11
>>> a
[[9, 10], [11, 3]]
>>> b
[[0, 1], [11, 3]]
>>>
b = list(a)
是浅拷贝。 b
是一个新列表,其中引用了与 a
相同的内部列表
a[0]=[9,10]
更改 a
中的第一个内部列表引用。这不会影响b
a[1][0]=11
修改a
第二个内部列表的第一个元素。这反映在 b
中,因为 a
&b
仍然共享对第二个内部列表的相同引用