Volker Grabsch wrote: > Hello! > > Ich just found a very nice 'pythonic' solution for an often appearing > problem. I didn't find it documented anywhere, so I'm posting it here. > If this isn't new in any way, I'd really like to get to know it. > > Example problem: > I have some "datetime" objects and want to sort them, as here: > > birthdays = [d1,d2,d3,d4] > birthdays.sort() > > However, I don't want to sort them the default way. These are birthdays, > so only the month and day do matter, not the year. E.g.: > > 2003-01-01 should be smaller than 1984-05-01 [snip] > Any opinions?
I find that using the "key" argument to sort is much nicer than "cmp" for these tasks. In [5]:L = [datetime.date(2005,5,2), datetime.date(1984,12,15), datetime.date(1954,1,1)] In [7]:L.sort(key=lambda x: (x.month, x.day)) In [8]:L Out[8]: [datetime.date(1954, 1, 1), datetime.date(2005, 5, 2), datetime.date(1984, 12, 15)] -- Robert Kern [EMAIL PROTECTED] "In the fields of hell where the grass grows high Are the graves of dreams allowed to die." -- Richard Harter -- http://mail.python.org/mailman/listinfo/python-list