Я упрощаю вариант использования, но, учитывая 2D-массив, я хотел бы перезаписать первый столбец значением i в каждом столбце. Однако вместо перезаписи отдельной ячейки на каждом этапе перезаписывается весь столбец.
array = [[0,0,0], [0,0,0], [[0,0,0]]
for i in range(3):
array[i][0] = i+1
print(array)
Ожидаемый результат:
[[1,0,0], [0,0,0], [[0,0,0]]
[[1,0,0], [2,0,0], [[0,0,0]]
[[1,0,0], [2,0,0], [[3,0,0]]
Фактический результат:
[[1,0,0], [1,0,0], [1,0,0]]
[[2,0,0], [2,0,0], [2,0,0]]
[[3,0,0], [3,0,0], [3,0,0]]
Я подозреваю, что вызов range () каким-то образом влияет на это, но я не знаю почему. Пожалуйста, помогите объяснить, почему доступ к одной ячейке перезаписывает каждый раз весь столбец!