Python - Изменение элемента двумерного массива

Существует двумерный массив table длины и высоты 4 (это не так важно)

[
 [0, 0, 0, 0],
 [0, 0, 0, 0],
 [0, 0, 0, 0],
 [0, 0, 0, 0]
]

Я хочу изменить значения элемента с координатами x = 0 и y = 0.

def testCell( self, x, y ):
    if 0 <= x < self.N and 0 <= y < self.N :
        self.table[x][y] = 1

Однако, вместо массива

[
 [1, 0, 0, 0],
 [0, 0, 0, 0],
 [0, 0, 0, 0],
 [0, 0, 0, 0]
]

Я получаю

[
 [1, 0, 0, 0],
 [1, 0, 0, 0],
 [1, 0, 0, 0],
 [1, 0, 0, 0]
]

Как правильно изменять значение элемента в двумерном массиве?


Ответы (1 шт):

Автор решения: Sergey Gornostaev

У в поле table хранится ссылка на список, содержащий 4 ссылки на один другой список. Создавайте матрицу лучше так: [[0 for x in range(self.N)] for y in range(self.N)]

→ Ссылка