我习惯于C编程,如果你想分配空间2d数组,你只需将其声明为
int a [20] [20];
我还不习惯Python编程(我还在C心态)
我想在这段代码中声明一个列表列表,并将每个元素初始化为无。
class World:
def __init__(self):
grid = [[none]*20]*20
由于某种原因,它看起来不对我。有人可以帮助我吗?
答案 0 :(得分:4)
grid = [[None]*20]*20 will give you a list of 20 sublists, each of which contains 20
None`s。但是,所有子列表都将引用内存中的相同列表,因此更改一个列表将影响它们。
你最好做这样的事情:
grid = [[None for _ in xrange(20)] for __ in xrange(20)]
这将为您提供20个不同的子列表,每个子列表包含20个None
s