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

Reply via email to