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]]
。
答案 0 :(得分:1)
考虑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
错误。
答案 1 :(得分:0)
您可以更轻松地完成操作,但是要对当前代码进行更改,如下所示:
for i in range(n):
v=[]
for j in range(m):
v.append(A[i][j]+B[i][j])
sum.append(v)