Здравствуйте. являюсь новичком программирования на питоне. Столкнулся с тем, что во время перемножения матриц, которые реализованы при помощи списков, значения элементов выходной матрицы не верны. Проверил алгоритм, все верно. Далее, попробовал пройтись по функции перемножения отладчиком pdb - перемножение происходит верно, но во время записи в список происходит нечто странное:
Имеем матрицу
а = [[1,2,3],[4,5,6]] и b = [[1,2],[3,4],[5,6]]
Имеем список, в который записывается результат. На момент начала перемножения:
Далее перемножаем и складываем значения строки первой матрицы с столбцом второй получаем число 22, а дальше самое интересное: после записи данного значения в матрицу:
(c.mx[0][0] = sum) c = [[22,0],[22,0]]
Вопрос, почему значение 22 дублировалось во второй строке? Дальше, если записать другое значение в ячейку (0,1), результат также дублируется во второй строке.
Возможно я не доконца в чем то разобрался, если так, то прошу подсказать мне мою ошибку.
Прикрепил исходник. Функция перемножения - mul(a,b).