[sum(value) for value in zip(*array)] is pretty standard.
This might help you understand it:
In [1]: array=[[1, 2, 3], [4, 5, 6], [7, 8, 9]] In [2]: array Out[2]: [[1, 2, 3], [4, 5, 6], [7, 8, 9]] In [3]: *array ------------------------------------------------------------ File "<ipython console>", line 1 *array ^ <type 'exceptions.SyntaxError'>: invalid syntax
The unary star is not an operator by itself. It unwraps array elements into arguments into function calls.
In [4]: zip(*array) Out[4]: [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
zip() is a built-in function
In [5]: zip(*array)[0] Out[5]: (1, 4, 7)
each element for the list returned by zip is a set of numbers you want.
In [6]: sum(zip(*array)[0]) Out[6]: 12 In [7]: [sum(values) for values in zip(*array)] Out[7]: [12, 15, 18]