我試圖修改列表清單內:重新分配列表的元素列表
list = [['0', '0', '0', '0', '0', '0'], ['0', '0', '0', '0', '0', '0'], ['0', '0', '0', '0', '0', '0'], ['0', '0', '0', '0', '0', '0'], ['0', '0', '0', '0', '0', '0']]
特別
當我分配list[0][1]='X'
,list
現在是:
[['0', 'X', '0', '0', '0', '0'], ['0', 'X', '0', '0', '0', '0'], ['0', 'X', '0', '0', '0', '0'], ['0', 'X', '0', '0', '0', '0'], ['0', 'X', '0', '0', '0', '0']]
,而不是隻重新分配第一個子列表的第二個元素,它重新分配每個子列表的第一個元素。我不明白爲什麼會發生這種情況。有人知道嗎?
這是因爲你如何創建'list'。請說明你是如何做到的。 – 2014-11-04 21:34:38
因爲你的'list'包含對同一列表的多個引用。 – khelwood 2014-11-04 21:35:34
這是關於SO(我正在尋找最好的一個)的幾十個問題的重複,再加上[官方Python FAQ中的一個條目](https://docs.python.org/3/faq/programming。 HTML#怎麼辦,我創建-A-多維列表)。 – abarnert 2014-11-04 21:38:30