这没有达到您的期望。
q = [[None]*5]*4
它
list多次重用对象。如您所见,当您对一个单元格进行更改时,该单元格位于重用列表对象中。
值为的单个列表使用了
[None]五次。
单个值为的列表使用了
[[None]*5]四次。
q = [ [ None for i in range(5) ] for j in range(4) ]
可能会更多您想要的东西。
这明确避免了重用列表对象。
80%的时间里,词典是您真正想要的。
q = {}q[0,0]= 5
也可以。您不必从预定义的
None值网格开始。但是很少需要它们。
在Python 2.7和更高版本中,您可以执行此 *** 作。
q = { (i,j):0 for i in range(5) for j in range(4) }
这将建立一个由2元组索引的网格。
{(0, 1): 0, (1, 2): 0, (3, 2): 0, (0, 0): 0, (3, 3): 0, (3, 0): 0, (3, 1): 0, (2, 1): 0, (0, 2): 0, (2, 0): 0, (1, 3): 0, (2, 3): 0, (4, 3): 0, (2, 2): 0, (1, 0): 0, (4, 2): 0, (0, 3): 0, (4, 1): 0, (1, 1): 0, (4, 0): 0}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)