【发布时间】:2013-12-10 00:50:56
【问题描述】:
所以直到现在,我的假设是如果你有例如:
L = [1,2,3]
L2 = L1
L2.append(5)
L 和 L2 都会受到附加代码的影响。
但是,当您将 L2 指定为列表的副本时,例如:
L = [1,2,3]
L2 = L[:]
L2.append(5)
只有L2会受到影响,L仍然指[1,2,3]
但我现在遇到了这个:
x = [1, 2]
L1 = [x, [8, 9]]
L2 = L1[:]
L2[0][1] = 999
>>>print(L1)
[[1,999],[8,9]]
>>>print(L2)
[[1,999],[8,9]]
为什么在这种情况下,两个列表都发生了变化?
【问题讨论】: