基本上我有array = [[1 2 3],[4 5 6]]
我想将1个数组中的值相加得到sum_array = [6,15]
。
我在我的实际数据集上尝试了sum(array)
并获得了随机数字。(不是预期的输出)。
答案 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)
除了现有答案之外,您还可以同时使用map
和sum
来获得更好,更清晰的方法:
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 comprehension
和sum
可以简化上述任务。
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]