Reputation: 1055
I have a Python list called results. Each result in the results list has a person object, and each person object has a birthdate (result.person.birthdate). The birthdate is a datetime object.
I would like to order the list by birthdate with the oldest first. What is the most Pythonic way to do this?
Upvotes: 47
Views: 72418
Reputation: 2568
Totally agree with Amber, but there is another way of sorting by attribute (from the wiki: https://wiki.python.org/moin/HowTo/Sorting):
from operator import attrgetter
sorted_list = sorted(results, key=attrgetter('person.birthdate'))
This method can actually be even faster than sorting with lambda
Upvotes: 17