Python - Sort Dictionary based on Values
Python - Sort Dictionary based on Values
As of Python version 3.7, dictionaries are ordered, and we can sort a dictionary based on values.
To sort a dictionary based on values in Python, you can use built-in function sorted(). Pass the dictionary items dict.items()
for the first argument, and a lambda function that returns value from the item, for the named argument key.
sorted() function returns a list of tuples, and to convert this to a dictionary of key-value pairs, we can use dict() function.
Syntax
The syntax to sort the key-value pairs in a dictionary dict1
based on the values is
dict(sorted(dict1.items(), key=lambda item: item[1]))
item[1]
returns value from the item (key-value pair).
Example
In the following example, we take a dictionary with some key-value pairs. We will use sorted() and dict() built-in functions to sort the items in dictionary based on values.
Python Program
dict1 = {
"key1": 56,
"key2": 10,
"key3": 12,
"key4": 7}
sorted_dict = dict(sorted(dict1.items(), key=lambda item: item[1]))
print(sorted_dict)
Output
{'key4': 7, 'key2': 10, 'key3': 12, 'key1': 56}
Summary
In this tutorial, we learned how dictionaries can be sorted based on the values using sorted() built-in function, with examples.