When it is required to sort the list of dictionaries based on values, the lambda function can be used.
Below is the demonstration of the same −
Example
from operator import itemgetter my_list = [{ "name" : "Will", "age" : 56}, { "name" : "Rob", "age" : 20 }, { "name" : "Mark" , "age" : 34 }, { "name" : "John" , "age" : 24 }] print("The list sorted by age is : ") print(sorted(my_list, key=lambda i: i['age'])) print("The list sorted by age and name is : ") print(sorted(my_list, key=lambda i: (i['age'], i['name']))) print("The list sorted by age in descending order is : ") print(sorted(my_list, key=lambda i: i['age'],reverse=True))
Output
The list sorted by age is : [{'name': 'Rob', 'age': 20}, {'name': 'John', 'age': 24}, {'name': 'Mark', 'age': 34}, {'name': 'Will', 'age': 56}] The list sorted by age and name is : [{'name': 'Rob', 'age': 20}, {'name': 'John', 'age': 24}, {'name': 'Mark', 'age': 34}, {'name': 'Will', 'age': 56}] The list sorted by age in descending order is : [{'name': 'Will', 'age': 56}, {'name': 'Mark', 'age': 34}, {'name': 'John', 'age': 24}, {'name': 'Rob', 'age': 20}]
Explanation
The list of dictionary elements is defined and is displayed on the console.
The sorted method is used, and the key is specified as ‘lambda’.
The list of dictionary is again sorted using lambda as two parameters.
The output is displayed on the console.