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,2,3,4],
[2,4,5,6] ]
I can get the row totals with a list comprehension:
row_totals = [ sum(x) for x in my_list ]
In one line, how can I sum the entire 2d-array?
27
You can do as easy as
or alternatively
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:
This would work for any number of dimensions your arrays might have.
Another solution using
itertools
:You can use sum to first add the inner lists together and then sum the resulting flattened list: