Python列表列表/升序然后解散

如果我有一个列表,其中包含一个这样的列表…

['a',1] ['a',2] ['a',3] ['b',1] ['b',2] ['b',3]

我如何对它们进行排序,使元素0按顺序排序,元素1按升序排列,因此结果将如下所示:

['b',1] ['b',2] ['b',3] ['a',1] ['a',2] ['a',3]

使用itemgetter我可以反过来在元素0,但我然后诉诸于元素,当然它会废除以前的排序。我不能做组合键,因为它需要首先排序下降然后升序。

TIA,
PK

L = [['a',1], ['a',2], ['a',3], ['b',1], ['b',2], ['b',3]]
L.sort(key=lambda k: (k[0], -k[1]), reverse=True)

L现在包含:

[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]
http://stackoverflow.com/questions/6666748/python-sort-list-of-lists-ascending-and-then-decending

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:Python列表列表/升序然后解散