如何更改嵌套列表中的变量

How to change variable in nested list

我有一个嵌套列表,“l”。我还有一个变量列表“loc”(用于位置)。当我尝试编辑列表中的特定位置时,没有任何变化。

嵌套列表是8个列表,每个列表中有8个0。列表 loc 将类似于 [0,4] 或 [7,0] 或 [6,2] 等

这是我的程序的精简版,它重现了这个问题:

import random

board = [[0]*8 for a in range(8)]
for i in range(5):
    loc = [random.randint(0,7),random.randint(0,7)]
    board[loc[0]][loc[1]] == 1
print board

这会打印出来

[[0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0]]

列表没有变化。

我不明白为什么这不起作用,是列表有问题,还是我正在尝试更改它或其他原因。

如果我在控制台中 运行 你的代码,它会 returns False 5 次。发生这种情况是因为您使用了 == 而不是 =。所以你基本上是在做无用的比较而不是赋值。请在相应的行中更改它。

顺便说一句,由于 python2.7 已停产,请考虑使用 print(board) 而不是 print board.