Ways to sort list of dictionaries by values in Python

Last Updated : 17 Aug, 2026

itemgetter from Python’s operator module provides a convenient way to sort a list of dictionaries based on one or more dictionary values. It works with the sorted() function and can sort data in ascending or descending order.

Example 1: Sort by a Single Key

Python
from operator import itemgetter

d = [
    {"name": "Nandini", "age": 20},
    {"name": "Manjeet", "age": 20},
    {"name": "Nikhil", "age": 19}
]
print("Sorted by age: ",sorted(d, key=itemgetter('age')))

Output
Sorted by age:  [{'name': 'Nikhil', 'age': 19}, {'name': 'Nandini', 'age': 20}, {'name': 'Manjeet', 'age': 20}]

Explanation: sorted(data, key=itemgetter('age')): Sorts the list of dictionaries based on the 'age' key value.

Example 2: Sort by Multiple Keys

Python
from operator import itemgetter
d = [
    {"name": "Nandini", "age": 20},
    {"name": "Manjeet", "age": 20},
    {"name": "Nikhil", "age": 19}
]
print("Sorted by age and name: ",sorted(d, key=itemgetter('age', 'name')))

Output
Sorted by age and name:  [{'name': 'Nikhil', 'age': 19}, {'name': 'Manjeet', 'age': 20}, {'name': 'Nandini', 'age': 20}]

Example 3: Sort in Descending Order

Python
from operator import itemgetter
d = [
    {"name": "Nandini", "age": 20},
    {"name": "Manjeet", "age": 20},
    {"name": "Nikhil", "age": 19}
]
print("Sorted by age (descending): ", sorted(d, key=itemgetter('age'), reverse=True))

Output
Sorted by age (descending):  [{'name': 'Nandini', 'age': 20}, {'name': 'Manjeet', 'age': 20}, {'name': 'Nikhil', 'age': 19}]

Related Article:

Comment