Python find max value in a dictionary [4 Methods]

In this Python tutorial, we will discuss the Python find max value in a dictionary using different methods with examples. I will also explain how to find the maximum value in a dictionary of lists and in a nested dictionary.

To find the maximum value in a Python dictionary, you can use the max() function in several ways. Apply max() directly to dict.values() to get the highest value, or use dict.keys() to find the highest key. Alternatively, employ max(dict, key=lambda k: dict[k]) for a key-based approach, or use import operator and max(dict.items(), key=operator.itemgetter(1)) to get the key-value pair with the highest value.

Python find max value in a dictionary methods

There are four different methods present that can be used with the max() function to Python find max value in a dictionary:

  • Operator module with dict.items()
  • lambda function
  • Using dict.values() function
  • dict.keys() function

Let’s see them one by one using some illustrative examples.

Note: The max() function can be used to find the largest element in an iterable like a list, tuple, or string. For more details please read: The max() function in Python.

Method 1: Max value in dictionary Python using operator module with items() function

The items() method of a dictionary in Python returns a view object that displays a list of the dictionary’s key-value tuple pairs.

READ:  Python Get Multiple Values From List

When used in combination with the operator.itemgetter() function, allows us to sort or retrieve elements based on the value part of these tuples.

Example: Let’s take a Python dictionary and try to find out which key has the highest values.

import operator

max_dict = {'Australia':178, 'Germany':213, 'Japan': 867}
new_ma_val = max(max_dict.items(), key=operator.itemgetter(1))[0]
print((new_ma_val))

Output: We use the operator.itemgetter() method in combination with the max() function to find the key with the maximum value.

Japan
find max value in dictionary python

Python find max value in a dictionary using the operator.itemgetter() function with dict.items() function.

Method 2: How to find max value in dictionary Python using the lambda function

When we use the max() function with a lambda function in Python to find the key with the maximum value. The lambda function takes a single argument x which is the key of the dictionary and returns the value associated with the key in Python.

Example: Suppose we have a dictionary in Python and we want to find the maximum value holding key in that dictionary.

# Create a dictionary with some key-value pairs
Country_dict = {'China':982, 'Egypt':758, 'Malaysia' : 12}

# Use the max function with a lambda function to find the key with the maximum value
new_val = max(Country_dict, key= lambda x: Country_dict[x])

# Print the key with the maximum value
print("maximum value from dictionary:",new_val)

Output: The max() function compares the values and returns the key that has the maximum value.

maximum value from dictionary: China
how to get max value in dictionary python

Python find max value in a dictionary using the lambda function and key parameter.

Method 3: Get max value in dictionary Python using dict.values() function

The most straightforward method is to apply the max() function directly to the values() of the dictionary in Python. This approach returns the maximum value but does not give information about the corresponding key of the Python dictionary.

name_dict = {"Oliva": 18, "potter": 56, "Harry": 15}
maximum_val = max(name_dict.values())
print("Maximum value from dict:",maximum_val)

Output: The implementation of the Python code is mentioned below:

Maximum value from dict: 56
find highest value in dictionary python

Python find max value in a dictionary using the dict.values() function.

READ:  How to Split Sentence into Words in Python[3 Ways]

Method 4: Python max dictionary key using dict.keys() function

The keys() function in Python will return the list of the dictionary keys and from that, we can find the maximum of the keys using the max() function in Python.

Example: Suppose we have a dictionary and we have to find the key which is largest among all through Python.

state_populations = {
    'CA': 39538223,
    'TX': 29145505,
    'FL': 21538187,
    'NY': 20201249,
    'PA': 13002700
}
max_key = max(state_populations.keys())
print('The max of the key in the input dictionary is: ', max_key)

Output: The max() will return the key that is the greatest according to the default comparison rules of Python. For strings, it will be the one that comes last in lexicographical (almost alphabetical) order.

The max of the key in the input dictionary is:  TX
max in dictionary python

Python find max value in a dictionary using the keys() function.

Python find max value in a nested dictionary

In this Python section, we will learn how to find the max value in a dictionary within the nested dictionary.

my_dictionary = {
    'Micheal' : {'i' : 15, 'z' : 14},
    'George' : {'q' : 2, 'y' : 10, 'w' : 3},
    'John' : {'n' : 19, 'm' : 5, 'o' : 2}
}

new_out = {}

for new_k, new_v in my_dictionary.items():
    count_new = 0
    for element in new_v.values():
        if element > count_new:
            count_new = element
    new_out[new_k] = count_new

print(new_out)

Output: We use a for loop to iterate over the outer dictionary keys and values, and another for loop to iterate over the values of the inner dictionary.

We compare each value of the inner dictionary with a variable, updating the variable if the current value is greater than the previous maximum.

{'Micheal': 15, 'George': 10, 'John': 19}
get highest value in dictionary python

Python find max value in a dictionary using nested for loop for nested dictionary.

READ:  How to Create a String with Variables in Python [Create a String with Multiple Variables in Python]

Python find max value in a dictionary of lists

In this Python section, we will discuss how to find the max value in a dictionary containing the list.

dict_new = {'USA': [17,27,81], 'United Kingdom': [19,61,92]}
new_val = max((max(dict_new[key]) for key in dict_new))
print(new_val)

Output: Here, we are using the max() function and list comprehension to find the maximum value in the dictionary. The list comprehension iterates over the keys of the dictionary and for each key, it finds the maximum value in the corresponding list using the max() function.

highest value in dictionary python

This way in Python find max value in a dictionary of lists using list comprehension method.

Conclusion

This article explains how Python find max value in a dictionary using the max() function in four different way like operator.itemgetter() with dict.items() function, using lambda function with key parameter, using dict.values() function, and dict.keys() function. Each method is explained with the help of some illustrative examples.

We have also seen how to find the max value in a nested dictionary, and how to find the max value from a dictionary of lists in Python.

You may also like to read the following tutorials on Python dictionary: