我已經遇到了我認爲是Python中的一個奇怪行爲,如果可能的話我希望有人解釋它。附加到Python中的2D列表
我創建了一個空的2D名單
listy = [[]]*3
print listy
[[], [], []]
如我期望的以下工作:
listy[1] = [1,2]
產量[[], [1,2], []]
listy[1].append(3)
產量[[], [1,2,3], []]
然而,當我附加到其中一個空列表,python附加到所有的子列表,如下所示:
listy[2].append(1)
收益率[[1], [1,2,3], [1]]
。
任何人都可以向我解釋爲什麼會出現這種情況嗎?
我不知道每月會有多少次被問到。當然,這是關於Python的最常見問題之一(而不僅僅是Stack Overflow)。從官方Python文檔中的FAQ:[如何創建多維列表?](http://docs.python.org/faq/programming.html#how-do-i-create-a-multidimensional-list) –