На этот вопрос уже есть ответ здесь:
Допустим, у меня есть следующие пустые два размерный массив в Python:
q = [[None]*5]*4
Я хочу присвоить значение 5
первой строке в первом столбце q
. Инстинктивно я делаю следующее:
q[0][0] = 5
Однако в результате получается:
[[5, None, None, None, None],
[5, None, None, None, None],
[5, None, None, None, None],
[5, None, None, None, None]]
Первый элемент каждого массива инициализируется значением 5
, где я думал только первый элемент из первый массив получит обновление. У меня два вопроса: