How do I sort a list of date and/or datetime objects? The accepted answer here isn’t working for me:
from datetime import datetime,date,timedelta
a=[date.today(), date.today() + timedelta(days=1), date.today() - timedelta(days=1)]
print(a) # [datetime.date(2013, 1, 22), datetime.date(2013, 1, 23), datetime.date(2013, 1, 21)]
a = a.sort()
print(a) # prints 'None'....what???
You’re getting
Nonebecauselist.sort()it operates in-place, meaning that it doesn’t return anything, but modifies the list itself. You only need to calla.sort()without assigning it toaagain.There is a built in function
sorted(), which returns a sorted version of the list –a = sorted(a)will do what you want as well.