如何在python中添加矩阵(列表列表)?我知道我可以这样做:
X = [[12,7,3],
[4 ,5,6],
[7 ,8,9]]
Y = [[5,8,1],
[6,7,3],
[4,5,9]]
result = [[0,0,0],
[0,0,0],
[0,0,0]]
# iterate through rows
for i in range(len(X)):
# iterate through columns
for j in range(len(X[0])):
result[i][j] = X[i][j] + Y[i][j]
for r in result:
print(r)
但是,如果两个列表的输入具有不同的行数或列数,该怎么办?我需要首先检查在添加之前是否相同的行数和列数,我不知道如何执行此操作。
答案 0 :(得分:1)
执行大小检查,然后使用双嵌套列表推导直接构建结果。 Numpy更好,但是如果你想避免导入,那就可以了。
X = [[12,7,3],
[4 ,5,6],
[7 ,8,9]]
Y = [[5,8,1],
[6,7,3],
[4,5,9]]
if len(X) == len(Y) and len(X[0]) == len(Y[0]):
result = [[X[i][j] + Y[i][j] for j in range(len(X[0]))]
for i in range(len(X))]
print result
输出:
[[17, 15, 4], [10, 12, 9], [11, 13, 18]]