所以这有点难过我。我觉得这应该是一个简单的问题。 可以说我有这两个列表
a = [[3, 4], [4, 5]]
b = [[1, 2], [4, 6]]
我正在尝试这样它会返回每个相应元素的两个二维列表的总和,如此
c = [[4, 6], [8, 11]]
我很确定我在循环中迷路了。我只是尝试使用嵌套循环来产生答案,任何建议?我正在尝试几种不同的东西,所以我的代码不完全完整或一成不变,并且可能会在有人响应的时候改变,所以我不会在这里留下代码。我正在尝试!
答案 0 :(得分:1)
你可以尝试使用enumerate对嵌套for循环进行一些变化(这将为你提供适当的索引以便与其他2d数组进行比较):
a = [[3, 4], [4, 5]]
b = [[1, 2], [4, 6]]
编辑:我没有看到你想要填充一个新列表,所以我把它放在那里:
>>> c = []
>>> for val, item in enumerate(a):
newvals = []
for itemval, insideitem in enumerate(item):
newvals.append(insideitem + b[val][itemval])
c.append(newvals)
newvals = []
结果:
>>> c
[[4, 6], [8, 11]]
答案 1 :(得分:0)
使用numpy:
import numpy as np
a = [[3, 4], [4, 5]]
b = [[1, 2], [4, 6]]
c = np.array((a,b))
np.sum(c, axis=0)
答案 2 :(得分:0)
我知道这是一个老问题,但是遵循嵌套循环的代码可以完全按照OP的要求工作:
sumlist = []
for i, aa in enumerate(a):
for j, bb in enumerate(b):
if i == j:
templist = []
for k in range(2):
templist.append(aa[k]+bb[k])
sumlist.append(templist)
templist = []
print(sumlist)
输出:
[[4, 6], [8, 11]]