98

如何对日期和/或日期时间对象列表进行排序?这里接受的答案对我不起作用:

from datetime import datetime,date,timedelta


a=[date.today(), date.today() + timedelta(days=1), date.today() - timedelta(days=1)]
print a # prints '[datetime.date(2013, 1, 22), datetime.date(2013, 1, 23), datetime.date(2013, 1, 21)]'
a = a.sort()
print a # prints 'None'....what???
4

1 回答 1

159

你得到None是因为list.sort()它就地运行,这意味着它不返回任何东西,而是修改列表本身。您只需要调用a.sort()而无需a再次分配它。

有一个内置函数sorted(),它返回列表的排序版本 -a = sorted(a)也会做你想做的事。

于 2013-01-23T05:06:08.610 回答