根据嵌入列表的第二个元素重新排序Python列表

时间:2016-02-04 23:50:47

标签: python

我需要根据嵌入列表的第二个元素重新排序Python列表:

所以这个:

[[1, 'A'], [2, 'B'], [3, 'B'], [4, 'A'], [5, 'C']]

应该变成:

[[1, 'A'], [4, 'A'], [2, 'B'], [3, 'B'], [5, 'C']]

我现在正在努力解决这段代码:

values = set(map(lambda x:x[1], l))
l = [[y[0] for y in l if y[1]==x] for x in values]

最简单的方法是什么?

3 个答案:

答案 0 :(得分:4)

使用内置函数sorted


$(".olds").next(tr).next(td).find(.mydiv).addclass("plop");

答案 1 :(得分:2)

像这样:

Id

答案 2 :(得分:1)

首先按第一个排序,然后排序第二个......

L = [[1, 'A'], [2, 'B'], [3, 'B'], [4, 'A'], [5, 'C']]
L.sort(key=lambda sublist: sublist[0], reverse=True)
L.sort(key=lambda sublist: sublist[1])