[Tutor] Sorting on different fields

Lie Ryan lie.1296 at gmail.com
Sun Dec 7 11:31:11 CET 2008


On Sat, 06 Dec 2008 21:47:16 -0800, the New me wrote:

> is there a straightforward example?

>>> import operator
>>> k = [[1, 2, 3, 4], [4, 3, 2, 1], [1, 3, 2, 4], [2, 4, 3, 1]]
>>> sorted(l, key=operator.itemgetter(3, 2))
[[4, 3, 2, 1], [2, 4, 3, 1], [1, 3, 2, 4], [1, 2, 3, 4]]
>>> for k in sorted(l, key=operator.itemgetter(0, 2)): print k
... 
[1, 3, 2, 4]
[1, 2, 3, 4]
[2, 4, 3, 1]
[4, 3, 2, 1]
>>> def genkey(item):
...     return item[2]
... 
>>> for k in sorted(l, key=genkey): print k
... 
[4, 3, 2, 1]
[1, 3, 2, 4]
[1, 2, 3, 4]
[2, 4, 3, 1]
>>> def genkey(item):
...     return item[2], item[1]
... 
>>> for k in sorted(l, key=genkey): print k
... 
[4, 3, 2, 1]
[1, 3, 2, 4]
[1, 2, 3, 4]
[2, 4, 3, 1]



More information about the Tutor mailing list