Я новичок в python, и у меня возникают проблемы с некоторыми аспектами языка. Сейчас я пытаюсь создать трехмерную таблицу, которая может содержать определенные значения.Добавление к элементу в массиве
таблица [х] [у] [г]
Х и Y оба инициализирован, чтобы иметь одинаковое число элементов, и г инициализируется быть пустой список как так
table = [[[]]*length]*length
так что таблица длины 3 будет выглядеть так:
[[], [], []], [[], [], []], [[], [], []]]
При определенных значениях x, y я хотел бы иметь возможность добавить список особых z, например это
table[0][2].append('S')
бы привести таблицу выглядеть
[[[], [], [ 'S']], [[], [], []], [[], [ ], []]]
, но это выходит, как это
[[[ 'S'], [ 'S'], [ 'S']], [[ 'S'], [» S '], [' S ']], [[S'], ['S'], ['S']]]
так, чтобы каждый список z был добавлен. Почему это происходит и как я могу это исправить. Я могу обойти это неэффективно, но я не хочу этого.
См. Также http://stackoverflow.com/questions/14190513/append-to-a-sublist-appends-to-every-sublist/14190543#14190543 – Ryan