Ways to sort list of dictionaries by values in Python – Using itemgetter (original) (raw)

Last Updated : 6 Nov, 2025

In this article, we’ll learn how to sort a list of dictionaries by one or more keys using the itemgetter() function from Python’s operator module. It helps fetch values based on given keys or indexes and is often used as a key function in sorting for cleaner and faster code.

**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: