首页 > 解决方案 > 添加矩阵python

问题描述

A = [[1,1,1,1],[1,1,1,1]]
B = [[1,1,1,1], [1,1,1,1]]
sum = []

m=len(A[0])
n=len(A)

for i in range(n):
    for j in range(m):
        sum.append(A[i][j]+B[i][j])

print(sum)

我有结果[2,2,2,2,2,2,2,2],但我需要[[2,2,2,2],[2,2,2,2]]

标签: pythonarraysmatrix

解决方案


考虑numpy

>>> import numpy as np
>>> np.add(A, B)
array([[2, 2, 2, 2],
       [2, 2, 2, 2]])

如果您不想使用numpy,请考虑以下事项:

>>> [[sum(pair) for pair in zip(sub1, sub2)] for sub1, sub2 in zip(A, B)]
[[2, 2, 2, 2], [2, 2, 2, 2]]

也不要使用sum = []你会重新分配内置sum函数,导致TypeError: 'list' object is not callable错误。


推荐阅读