我尝试将此行放入我的代码中,尝试创建一个80 * 80网格:
a = [[0] * 80] * 80
然而,事实证明我有80个引用相同的列表,我花了很长时间才意识到这个问题。
我想知道有没有办法在常用方法中理解/记忆python如何引用?
谢谢!
答案 0 :(得分:1)
如果你这样做,你将有N个相同列表的引用。
如果您想拥有可以独立操作的不同列表,可以执行以下操作:
a = [[0 for x in xrange(80)] for y in xrange(80)]
请注意,我使用的是xrange而不是range:这是一个生成器,不会在内存中分配范围。