sha*_*ane 33 python sorting datetime
我有一个名为results的Python列表.结果列表中的每个结果都有一个person对象,每个person对象都有一个birthdate(result.person.birthdate).生日是一个日期时间对象.
我希望按出生日期和最早的第一个订购清单.最恐怖的方式是什么?
Amb*_*ber 58
results.sort(key=lambda r: r.person.birthdate)
Run Code Online (Sandbox Code Playgroud)
yen*_*sun 13
完全同意Amber,但还有另一种按属性排序的方法(来自wiki:https://wiki.python.org/moin/HowTo/Sorting):
from operator import attrgetter
sorted_list = sorted(results, key=attrgetter('person.birthdate'))
Run Code Online (Sandbox Code Playgroud)
这种方法实际上甚至比排序更快 lambda