How would I sum a multi-dimensional array in the most succinct python?
Question: The closest was this one [summing
columns](http://stackoverflow.com/questions/3223043/how-do-i-sum-the-columns-
in-2d-list).

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
    


Answer: 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](http://numpy.scipy.org/) 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.

