爲什麼下面的輸出{'a': [1, 3, 4, 5, 6, 7, 8, 9], 'b': [1, 3, 4, 5, 6, 7, 8, 9]}
更改字典
adic = {}
main_array = [1,2,3,4,5,6,7,8,9]
adic["a"] = main_array
adic["b"] = main_array
array = adic["a"]
array.remove(2)
print(adic)
我甚至不指定新陣列的關鍵代碼中的列表。爲什麼應該從字典中的所有數組中自動刪除2。我錯過了一些重要的東西?
您的預期產量是多少?另請參閱[如何在Python中複製或複製列表?](http://stackoverflow.com/q/2612802) –
「我甚至沒有將新數組分配給一個鍵」:這就是要點!沒有新的數組,在整個代碼中只有一個(可變的!)'list'對象。 – schwobaseggl
我沒想到字典中的數組發生了變化。我只希望它改變一次,我已經將陣列重新分配到密鑰 – user2273795