可能重複:
Unexpected feature in a Python list of lists
Python list confusion名單
考慮下面的代碼:
a = [[]] * 3
a[1].append("foo")
我期望的a
值成爲:
[[], ["foo"], []]
代替的a
每一個元素被更新:
[["foo"], ["foo"], ["foo"]]
能有人請解釋爲什麼在列表中的每個元素得到了更新,而不是僅僅定義的元素(a[1]
)的?我的邏輯中是否有根本錯誤?
對於什麼是值得我運行Python2.7
這已被問過千次..讓我找到一個重複:) – 2012-04-21 14:28:33
謝謝。很難找到這個問題的正確標題,所以我無法輕鬆找到重複。謝謝你指出:) – rahmu 2012-04-21 14:30:35
@rahmu:是的,我知道,這是不幸的,但它肯定不是你的錯:)玩得開心。 – 2012-04-21 14:30:57