我有列表列表,我需要对内部列表求和,例如,
a = [[1,2,3], [2,1,4], [4,3,6]]
就我而言, a[i] 的 len 是相同的,即所有内部列表都具有相同的维度。
我需要输出为
result = [6,7,13]
我所做的是:
result = [sum(a[i]) for i in range(len(a))]
由于我的 len(a) 非常高,我希望有另一种方法可以在不使用 for 循环的情况下获得结果。
result = map(sum, a)
是我会这样做的方式。或者:
result = [sum(b) for b in a]
第二个变体与您的变体相同,只是它避免了不必要的范围声明。在 Python 中,您可以直接迭代列表,而不必保留单独的变量作为索引。
我知道没有人喜欢它,只是提供一个选择:
result = [reduce(lambda x, y: x+y, l) for l in a]
一个简单的答案。
a = [[1,2,3], [2,1,4], [4,3,6]]
result = [sum(l) for l in a]
result
[6, 7, 13]