我試圖把這個線在我的代碼,試圖創建一個80 * 80格:的Python:列出的參考
a = [[0] * 80] * 80
然而,事實證明,我有80個參照相同的列表,並我花了很長時間才意識到這個問題。
我想知道是否有一種方法來理解/記憶如何在常用方法中引用python?
謝謝!
我試圖把這個線在我的代碼,試圖創建一個80 * 80格:的Python:列出的參考
a = [[0] * 80] * 80
然而,事實證明,我有80個參照相同的列表,並我花了很長時間才意識到這個問題。
我想知道是否有一種方法來理解/記憶如何在常用方法中引用python?
謝謝!
是的,如果你這樣做,你將有N個參考的同一個列表。
如果你想有不同的列表,你可以獨立操作,你可以做到以下幾點:
a = [[0 for x in xrange(80)] for y in xrange(80)]
請注意,我使用的xrange而不是範圍:這是一臺發電機,並不會分配內存範圍。
它在[Python常見問題](http://docs.python.org/faq/programming.html#how-do-i-create-a-multidimensional-list) – yazu 2012-04-15 06:24:26