Python:列表的参考

时间:2012-04-15 06:15:11

标签: python

我尝试将此行放入我的代码中,尝试创建一个80 * 80网格:

a = [[0] * 80] * 80

然而,事实证明我有80个引用相同的列表,我花了很长时间才意识到这个问题。

我想知道有没有办法在常用方法中理解/记忆python如何引用?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果你这样做,你将有N个相同列表的引用。

如果您想拥有可以独立操作的不同列表,可以执行以下操作:

a = [[0 for x in xrange(80)] for y in xrange(80)]

请注意,我使用的是xrange而不是range:这是一个生成器,不会在内存中分配范围。