Finding the Max value in a two dimensional Array

79,274

Solution 1

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

Solution 2

Another way to solve this problem is by using function numpy.amax()

>>> import numpy as np
>>> arr = [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]
>>> np.amax(arr)

Solution 3

Not quite as short as falsetru's answer but this is probably what you had in mind:

>>> 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]
>>> max(max(x) for x in numbers)
4

Solution 4

How about this?

import numpy as np
numbers = np.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]])

print(numbers.max())

4

Solution 5

>>> 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]

You may add key parameter to max as below to find Max value in a 2-D Array/List

>>> max(max(numbers, key=max))
4
Share:
79,274

Related videos on Youtube

Shuki
Author by

Shuki

Updated on July 09, 2022

Comments

  • Shuki
    Shuki almost 2 years

    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.

  • donto
    donto about 4 years
    and how about to get the index of each sub-list which has max value?
  • Vainmonde De Courtenay
    Vainmonde De Courtenay almost 3 years
    Better than the accepted answer in every way
  • newtonian_fig
    newtonian_fig over 2 years
    except that it doesn't work on an input like [[0, 1, 2], [3, 4]]