按反向最高,数字排序列表,按字母顺序排序

时间:2016-12-28 10:55:57

标签: python list python-3.x sorting

我有一个python列表,其中包含以下数据:

[('c',3),('a',1),('d',1),('b',5)]

我想先订购,以便按照最高编号排序:

[('b',5),('c',3),('d',1),('a',1)]

然后按字母顺序排序

[('b',5),('c',3),('a',1),('d',1)]

我可以使用一种排序功能吗?

1 个答案:

答案 0 :(得分:4)

试试这个:

s = [("c",3),("a",1),("d",1),("b",5)]
sorted(s, key=lambda x: (-x[1], x[0]))
# gives [('b', 5), ('c', 3), ('a', 1), ('d', 1)]