The closest was this one summing columns.
So I\'ll do something similar in my question:
Say I\'ve a Python 2D list as below:
my_list = [ [1,
Another solution using itertools:
>>> from itertools import chain
>>> my_list = [ [1,2,3,4], [2,4,5,6] ]
>>> sum(chain(*my_list))
27
You can do as easy as
sum(map(sum, my_list))
or alternatively
sum(sum(x) for x in my_list))
and call it a day, if you don't expect more than 2 dimensions. Note that the first solution is most likely not the fastest (as in execution time) solution, due to the usage of map()
. Benchmark and compare as necessary.
Finally, if you find yourself using multidimensional arrays, consider using NumPy and its superior array-friendly functions. Here's a short excerpt for your problem:
import numpy as np
my_list = np.array([[1,2,3,4], [2,4,5,6]])
np.sum(my_list)
This would work for any number of dimensions your arrays might have.
>>> sum ( [ sum(x) for x in [[1,2,3,4], [2,4,5,6]] ] )
27