web-dev-qa-db-fra.com

Comment trier une liste d'objets date / heure?

Comment trier une liste d'objets date et/ou date/heure? La réponse acceptée ici ne fonctionne pas pour moi:

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???
59
Brent

Vous obtenez None parce que list.sort() il fonctionne sur place, ce qui signifie qu'il ne renvoie rien, mais modifie la liste elle-même. Il vous suffit d'appeler a.sort() sans l'assigner à a à nouveau.

Il existe une fonction intégrée sorted(), qui renvoie une version triée de la liste - a = sorted(a) fera également ce que vous souhaitez.

95
Volatility