У меня странная проблема с заданием, которое я получил.Мы должны реализовать матричный класс.Ну, это не так сложно, но Python просто не будет делать, как я говорю.Но я уверен, что есть объяснение.
Проблема в том, что в следующем коде я пытаюсь сохранить значения (представленные в списке) в матрице.
class simplematrix:
matrix = [[]]
def __init__(self, * args):
lm = args[0]
ln = args[1]
values = args[2]
self.matrix = [[0]*ln]*lm
for m in range(lm):
for n in range(ln):
self.matrix[m][n] = values[(m*ln)+n]
vals = [0,1,2,3,4,5]
a = simplematrix(2,3,vals)
Когда я пытаюсь напечатать матрицу, я ожидаю получить [[0,1,2], [3,4,5]], которую я получу, если я буду запускать ее вручную, на листе бумаги.Если я печатаю матрицу из Python, я получаю [[3,4,5], [3,4,5]] вместо этого.Может кто-нибудь сказать мне, почему Python действует так или я где-то допустил какую-то глупую ошибку?:)