我试图把这个线在我的代码,试图创建一个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