采取以下列表
matrix1 = [[1, 1], [2, 3]]
matrix2 = [[1, 1], [2, 3]]
如何在不使用其他库(例如 pandas、numpy、...)的情况下返回各种列表列表的总和,在这种情况下为 2,如
[[2, 2], [4, 6]]
与以下
def addMatrix(m1, m2):
if len(m1) == len(m2):
return [x[0] + x[1] for x in zip(m1, m2)]
else:
raise ValueError("Given matrices are not the same size.")
它返回
>>> addMatrix(matrix1, matrix2)
[[1, 1, 1, 1], [2, 3, 2, 3]]
这不是人们想要的,并且只适用于列表,而不是列表列表。
一个人也尝试了以下方法,但给出与上面相同的输出
new = []
def add(m1, m2):
for i, value in enumerate(m1):
if len(m1) == len(m2):
additional = m2[i]
new.append(value + additional)
else:
raise ValueError("Given matrices are not the same size.")
人们知道如何使用 numpy 来实现,但是人们想要一种不使用任何库的方法。
这是一个使用 numpy 的工作解决方案
import numpy as np
matrix1_np = np.asarray(matrix1)
matrix2_np = np.asarray(matrix2)
add = matrix1_np + matrix2_np
add.tolist()