result = [] for i in range(nb_list): temp = [] for j in range(nb_dim): temp.append(0) result.append(temp)
#result = [[0] * nb_dim] * nb_list
res_dim_index = 0 res_list_index = 0
l1 = zip(*matrix) for l1_item in l1: l2 = zip(*l1_item) res_dim_index = 0 for l2_item in l2: result[res_list_index][res_dim_index] = sum(l2_item) res_dim_index += 1 res_list_index += 1 print(result) return result
m1 = [[1, 2], [3, 4], [0, 0]] m2 = [[1, 2], [3, 6], [0, 0]] m3 = [[1, 1], [1, 1], [0, 0]] add(m1, m2, m3) [/code] Этот код дает ожидаемый результат [code][[3, 5], [7, 11], [0,0]][/code] Если я инициализирую результат, используя закомментированный метод, результат будет отличаться от этого [code][[0, 0], [0, 0], [0,0]][/code] Я не понимаю почему.