按日期排序Python对象列表

时间:2011-02-20 07:26:42

标签: python datetime sorting

我有一个名为results的Python列表。结果列表中的每个结果都有一个person对象,每个person对象都有一个birthdate(result.person.birthdate)。生日是一个日期时间对象。

我想在生日期间用最早的第一个订购清单。最恐怖的方式是什么?

2 个答案:

答案 0 :(得分:54)

results.sort(key=lambda r: r.person.birthdate)

答案 1 :(得分:11)

完全赞同Amber,但还有另一种按属性排序的方法(来自wiki:https://wiki.python.org/moin/HowTo/Sorting):

from operator import attrgetter
sorted_list = sorted(results, key=attrgetter('person.birthdate'))

这种方法实际上比使用lambda

排序更快