¿Cómo ordeno una lista de objetos datetime o date?

¿Cómo ordeno una lista de objetos de fecha y / o fecha / hora? La respuesta aceptada aquí no funciona para mí:

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

No está obteniendo None porque list.sort() opera en el lugar , lo que significa que no devuelve nada, sino que modifica la lista en sí. Solo necesita llamar a a.sort() sin asignarlo a a nuevo.

Hay una función incorporada sorted() , que devuelve una versión ordenada de la lista – a = sorted(a) también hará lo que usted desea.