Dictionaries in Python are powerful data structures that allow you to store key-value pairs. Often, there arises a need to sort a dictionary based on its values. In this exploration, we’ll uncover the techniques to efficiently sort a dictionary in both ascending and descending order.
Example Dictionary Object
Let’s consider a sample dictionary to demonstrate the sorting techniques.
my_dictionary = {'b': 4, 'c': 6, 'a': 3, 'd': 2} print(my_dictionary)
Output:
{'b': 4, 'c': 6, 'a': 3, 'd': 2}
Sort in Ascending Order
To sort the dictionary in ascending order based on values, the sorted()
function can be utilized with a lambda function as the key parameter.
sorted_dict_asc = sorted(my_dictionary.items(), key=lambda i: i[1], reverse=False) print(sorted_dict_asc)
Output:
[('d', 2), ('a', 3), ('b', 4), ('c', 6)]
Sort in Descending Order
Similarly, for descending order, the sorted()
function can be employed with the reverse
parameter set to True
.
sorted_dict_dsc = sorted(my_dictionary.items(), key=lambda i: i[1], reverse=True) print(sorted_dict_dsc)
Output:
[('c', 6), ('b', 4), ('a', 3), ('d', 2)]
Reformatting to Dictionary
The sorted results are obtained as a list of tuples. To convert them back to a dictionary, a simple loop can be employed.
new_dict = {} for k, v in sorted_dict_dsc: new_dict[k] = v print(new_dict)
Output:
{'c': 6, 'b': 4, 'a': 3, 'd': 2}
Conclusion
In conclusion, sorting dictionaries in Python is a straightforward process using the sorted()
function and lambda functions to specify the key for sorting. Whether you need your dictionary sorted in ascending or descending order, these techniques provide an efficient solution to meet your requirements. Mastering these skills will empower you to handle and manipulate dictionaries effectively in various Python applications.
Leave a Reply