“TypeError:'int'对象不支持项目分配”;迭代问题

时间:2013-05-18 02:44:57

标签: python

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,这是可以理解的(这将是迭代值而不是索引的问题),但我不明白为什么这个问题发生在考虑我没有整数。

2 个答案:

答案 0 :(得分:5)

idx只是一个像0这样的整数而且没有0[0]

这样的东西

你想使用val作为你列表中的项目。

实际上看起来你还有其他问题......

<强>固定

for row in game_board:
    for item in row:
        item[0] = 0
        item[1] = 0

答案 1 :(得分:1)

enumerate()函数返回一个元组(整数,对象) - 参见the python documenation for enumerate

你试图索引一个你不能的整数。