我想不出在所有为什么发生这种情况:当我复制并编辑此列表时,究竟发生了什么?
A = [[1,0], [2,2]]
B = list(A)
print('start A:', A, 'start B:', B)
A[0][0] = 999
print('end A:', A, 'end B:', B)
这将返回:
start A: [[1, 0], [2, 2]] start B: [[1, 0], [2, 2]]
end A: [[999, 0], [2, 2]] end B: [[999, 0], [2, 2]]
名单A和B最终被同样的,即使我明确地从A复制乙这只发生在我做类似A [0] [0] = 999;如果我用A [0] = 999替换它,那么A和B在结尾处是不同的。
背后的原因是什么?有没有办法以这种方式改变A而不影响B?
不,他们不是。它们是单独的列表对象。 –
@SvenMarnach - 很棒! –