Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

python sum the values of lists of list

Tags:

python

list

sum

I have list of lists and i need to sum the inner lists, for example,

a = [[1,2,3], [2,1,4], [4,3,6]]

for my case, the len of a[i] is same, that is all the inner lists have same dimension.

and i need the output as

result = [6,7,13]

what i did is:

result = [sum(a[i]) for i in range(len(a))]

Since my len(a) is very high, i hope there will be a alternative way to get the result without using the for loop.

like image 767
Thiru Avatar asked Nov 08 '12 06:11

Thiru


2 Answers

result = map(sum, a)

Is the way I would do it. Alternatively:

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

The second variation is the same as yours, except it avoids the unnecessary range statement. In Python, you can iterate over lists directly without having to keep a separate variable as an index.

like image 151
mpenkov Avatar answered Nov 15 '22 20:11

mpenkov


I know that no one like it but just to give an option:

result = [reduce(lambda x, y: x+y, l) for l in a]
like image 38
Artsiom Rudzenka Avatar answered Nov 15 '22 21:11

Artsiom Rudzenka