"Dave S" <[EMAIL PROTECTED]> wrote

> I have a bunch of lists within lists that I need to sort ref item 
> [4], I can't
> access my code at the moment but I basically ...
>
> a = [[...], [...], .... ]
> a.sort(item4)
>
> def item4(a,b):
> return a[4], b[4]
>
>
> Having googled I think there is a better way of doing this with the 
> key
> attribute
>
> a.sort(key= ?? )
>
> I cant get a handle on how key works or how to code it for my needs.

key is a function that returns the sortable item given the list as 
input.
Thus for your example:

a.sort(key=lambda s:s[4])

Or if you don't like lambdas:

def item4(aSeqence): return aSequence[4]
a.sort(key=item4)

You can do some more "interesting" things with key too, including
returning values derived from the original list, but the use shown is
the basic technique.

HTH,

Alan G. 


_______________________________________________
Tutor maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/tutor

Reply via email to