python汇总列表的值

时间:2012-11-08 06:27:44

标签: python list sum

我有列表列表,我需要对内部列表求和,例如,

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循环的情况下获得结果。

3 个答案:

答案 0 :(得分:19)

result = map(sum, a)

我是这样做的。可替换地:

result = [sum(b) for b in a]

第二个变体与您的相同,只是它避免了不必要的范围声明。在Python中,您可以直接迭代列表,而无需将单独的变量保留为索引。

答案 1 :(得分:3)

我知道没有人喜欢它,只是给出一个选择:

result = [reduce(lambda x, y: x+y, l) for l in a]

答案 2 :(得分:0)

一个简单的答案。

a = [[1,2,3], [2,1,4], [4,3,6]]
result = [sum(l) for l in a]

result
[6, 7, 13]