Search code examples
pythonarrayslistmaxiterable

Finding the Max value in a two dimensional Array


I'm trying to find an elegant way to find the max value in a two-dimensional array. for example for this array:

[0, 0, 1, 0, 0, 1] [0, 1, 0, 2, 0, 0][0, 0, 2, 0, 0, 1][0, 1, 0, 3, 0, 0][0, 0, 0, 0, 4, 0]

I would like to extract the value '4'. I thought of doing a max within max but I'm struggling in executing it.


Solution

  • Max of max numbers (map(max, numbers) yields 1, 2, 2, 3, 4):

    >>> numbers = [0, 0, 1, 0, 0, 1], [0, 1, 0, 2, 0, 0], [0, 0, 2, 0, 0, 1], [0, 1, 0, 3, 0, 0], [0, 0, 0, 0, 4, 0]
    
    >>> map(max, numbers)
    <map object at 0x0000018E8FA237F0>
    >>> list(map(max, numbers))  # max numbers from each sublist
    [1, 2, 2, 3, 4]
    
    >>> max(map(max, numbers))  # max of those max-numbers
    4