Ways to sort list of dictionaries by values in Python Using lambda function


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

 Live Demo

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.

Updated on: 17-Apr-2021

852 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements