4
def create_board():
    b = [[['',''] for i in range(8)] for j in range(8)]
    return b
game_board = create_board()


for i in game_board[0]:
    for idx, val in enumerate(i[1::2]):
        idx[0] = 0
        idx[1] = 0
print game_board

我有这个脚本,我需要在其中遍历列表 game_board 中的第一个列表。从第二个元素开始,我需要更改每个其他元素列表中的值。但是,当我运行它时,我遇到了错误

idx[0] = 0
TypeError: 'int' object does not support item assignment

如果 IDLE 抱怨我将变量分配给 str 是可以理解的(这将是迭代值而不是索引的问题),但考虑到我没有整数,我不明白为什么会发生这个问题。

4

2 回答 2

5

idx 只是一个整数0,没有这样的东西 a0[0]

您想使用 val 这是您列表中的项目。

实际上,您似乎还有其他问题...

固定的

for row in game_board:
    for item in row:
        item[0] = 0
        item[1] = 0
于 2013-05-18T02:46:36.050 回答
1

enumerate() 函数返回一个元组,即 (integer, object) - 请参阅enumerate 的 python 文档

您正在尝试索引一个整数,但您不能。

于 2013-05-18T02:54:25.463 回答