HiveBrain v1.2.0
Get Started
← Back to all entries
snippetpythonCritical

How can I sort a list of dictionaries by a value of the dictionary in Python?

Submitted by: @import:stackoverflow-api··
0
Viewed 0 times
howlistvaluesortthepythondictionariescandictionary

Problem

How do I sort a list of dictionaries by a specific key's value? Given:
[{'name': 'Homer', 'age': 39}, {'name': 'Bart', 'age': 10}]


When sorted by name, it should become:
[{'name': 'Bart', 'age': 10}, {'name': 'Homer', 'age': 39}]

Solution

The sorted() function takes a key= parameter

newlist = sorted(list_to_be_sorted, key=lambda d: d['name'])


Alternatively, you can use operator.itemgetter instead of defining the function yourself

from operator import itemgetter
newlist = sorted(list_to_be_sorted, key=itemgetter('name'))


For completeness, add reverse=True to sort in descending order

newlist = sorted(list_to_be_sorted, key=itemgetter('name'), reverse=True)

Code Snippets

newlist = sorted(list_to_be_sorted, key=lambda d: d['name'])
from operator import itemgetter
newlist = sorted(list_to_be_sorted, key=itemgetter('name'))
newlist = sorted(list_to_be_sorted, key=itemgetter('name'), reverse=True)

Context

Stack Overflow Q#72899, score: 3744

Revisions (0)

No revisions yet.