Почему префиксы в массиве не имеют никакого эффекта? [дубликат]Python

Программы на Python
Anonymous
Почему префиксы в массиве не имеют никакого эффекта? [дубликат]

Сообщение Anonymous »

решая задачу в leetcode, мне нужно было создать матрицу и взять данные из другой матрицы,
для этого я написал res[0][0]=s[0][0], но почему-то Python присвоил все значения res[0-2][0] s[0][0]

Код: Выделить всё

s= [[-2,-3,3],[-5,-10,1],[10,30,-5]]
res=[[0]*len(s)]*len(s[0])
res[0][0]=s[0][0]
print(res)
выход: [[-2, 0, 0], [-2, 0, 0], [-2, 0, 0]]
но я хочу [[ -2, 0, 0], [0, 0, 0], [0, 0, 0]]

Код: Выделить всё

s= [[-2,-3,3],[-5,-10,1],[10,30,-5]]
res=[[0]*len(s)]*len(s[0])
res[1][0]=s[0][0]
print(res)
вывод: [[-2, 0, 0], [-2, 0, 0], [-2, 0, 0]]

Подробнее здесь: https://stackoverflow.com/questions/787 ... -no-effect

Вернуться в «Python»