Sorting a List of Lists

apotheos at gmail.com apotheos at gmail.com
Tue Jan 30 18:55:52 EST 2007


I can't seem to get this nailed down and I thought I'd toss it out 
there as, by gosh, its got to be something simple I'm missing.

I have two different database tables of events that use different 
schemas. I am using python to collate these records for display. I do 
this by creating a list of lists that look roughly like this:

events = [['Event URL as String', 'Event Title as String ', Event Date 
as Datetime], ...]

I then thought I'd just go events.sort(lambda x,y: x[2]<y[2]) and call 
it a day. That didn't work. But then lamda functions like to be very 
simple, maybe object subscripts aren't allowed (even though I didn't 
get an error). So I wrote a comparison function that looks much as you 
would expect:

def date_compare(list1, 
list2):
    x = list1[2]
    y = list2[2]
    if 
x>y:
        return 
1
    elif 
x==y:
        return 
0
    else: # 
x<y
        return -1

But as before sorting with this function returns None.

What have I overlooked?




More information about the Python-list mailing list