2013-05-18 2 views
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. Начиная со второго элемента, мне нужно изменить значения в каждом списке других элементов. Однако, когда я запускаю это я поздоровался с ошибкой"ТипError: объект" int "не поддерживает назначение элемента"; итерационный выпуск

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

Было бы понятно, если IDLE жаловался мне назначение переменной к Силе, (который был бы вопрос с Перебор значений, а не индексов), но я не понимаю, почему эта проблема происходит, учитывая, что у меня нет целых чисел.

+2

'enumerate()' связывает каждый элемент в вашей последовательности с индексом: '(index, item)'. – Blender

ответ

5

IDX только целое число, как 0 и нет таких вещи 0[0]

вы хотите использовать Вал, который ваша деталь из списка.

на самом деле это выглядит, как у вас есть другие проблемы ...

фиксированной

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

Ahhh, спасибо. – user2395898

1

перечисление() функция возвращает кортеж, который (целое число, объект) - см the python documenation for enumerate.

Вы пытаетесь проиндексировать целое число, которое вы не можете.

Смежные вопросы