我想不出在所有爲什麼發生這種情況:當我複製並編輯此列表時,究竟發生了什麼?
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 - 很棒! –