如何在数组中求和数组?

时间:2017-10-24 09:37:04

标签: python python-2.7 list

基本上我有array = [[1 2 3],[4 5 6]] 我想将1个数组中的值相加得到sum_array = [6,15]。 我在我的实际数据集上尝试了sum(array)并获得了随机数字。(不是预期的输出)。

4 个答案:

答案 0 :(得分:5)

sum只能在配置了__add__的元素上执行才能处理它。对于list,它必须是松散的single dimensioned。因此,您需要获取flattened list内部。

使用List comprehension

>>> [sum(l) for l in array]
=> [6, 15]

使用map

>>> list( map(sum, array) )
=> [6, 15]

#driver values:

IN : array = [[1,2,3],[4,5,6]]

答案 1 :(得分:3)

除了现有答案之外,您还可以同时使用mapsum来获得更好,更清晰的方法:

array = [[1, 2, 3],[4, 5, 6]]
sumArray = map(sum, array)

<强>输出

>>> sumArray
[6, 15]

答案 2 :(得分:2)

您可以按照建议使用sum(array),只需确保创建一个包含sum返回值的列表:

array = [[1, 2, 3], [4, 5, 6]]
sums = [sum(x) for x in array]
>> [6, 15]

答案 3 :(得分:1)

使用list comprehensionsum可以简化上述任务。

a = [ [1,2,3] , [4,5,6] ]
sum_list = [ sum[elem] for elem in a ]
print(sum_list)
#Output [6,15]

以下方法很冗长,但我觉得初学者更容易理解

array = [ [1,2,3], [4,5,6] ]
sum_list = []

for elements in array:
    elements_sum = 0
    for elem in elements:
        elements_sum = elements_sum + elem
    sum_list.append(elements_sum)
print(sum_list)
#Output [6,15]