[Tutor] Sorting 2-d data
Patrick Sabin
patrick.just4fun at gmail.com
Sun Sep 13 21:19:24 CEST 2009
> But for sorting the list with the first element as key, I tried it
using
> just mylist.sort() without the lambda, and its working also. Then why
> use the lambda?
>
There is a little difference between those two variations.
Example:
>>> sorted([[1,2],[1,3],[1,1]])
[[1, 1], [1, 2], [1, 3]]
>>> sorted([[1,2],[1,3],[1,1]], key=lambda x:x[0])
[[1, 2], [1, 3], [1, 1]]
For sorting it is necessary to compare items. So for example [1,1] is
compared to [1,2]
As you see:
>>> [1,1] < [1,2]
True
If you apply the lambda things change:
>>> (lambda x: x[0])([1,1])<(lambda x:x[0])([1,2])
False
>>> (lambda x: x[0])([1,1])==(lambda x:x[0])([1,2])
True
This is because now only the first item of the list is compared.
- Patrick
> _______________________________________________
> Tutor maillist - Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
More information about the Tutor
mailing list