這裏字典的名單怪異的行爲是一個簡單的代碼,在列表執行操作:與蟒蛇
>>> a = [0] * 5
>>> a
[0, 0, 0, 0, 0]
>>> a[0] = 5
>>> a
[5, 0, 0, 0, 0]
>>>
現在,沒有什麼異常。
現在,我嘗試做相同的字典,而不是整數列表的列表:
>>> a = [{}] * 5
>>> a
[{}, {}, {}, {}, {}]
>>> a[0]['b'] = 4
>>> a
[{'b': 4}, {'b': 4}, {'b': 4}, {'b': 4}, {'b': 4}]
>>>
我不明白爲什麼我的列表中的所有元素被修改......
有誰能告訴我爲什麼?並提供解決方法?
見對這種行爲進行了深入的解釋[這](http://stackoverflow.com/a/8240157/566644)的答案。 – 2011-12-22 11:46:07
[試圖在一個地方嘗試更改時,值在列表中的多個位置發生更改的可能的副本](http://stackoverflow.com/questions/8240054/value-changing-at-multiple-positions-in-a- list-of-list-when-trying-to-change-at) – geoffspear 2011-12-22 12:21:57