假设我有一个字典,像这样:
h=[('a',5), ('f', 3), ('b',3), ('c',3), ('d',1), ('e',4) ]
我希望按照以下方式对其进行排序:
[('a',5), ('e',4), ('b',3), ('c',3), ('f',3), ('d',1)]
我可以使用Python 2 来解决这个问题,类似这样:
sortedList= sorted(h.iteritems(),key=lambda(k,v):(-v,k))
我可以用Python 3编写以下代码来实现此功能:
import operator
sortedList =sorted(h.items(), key=operator.itemgetter(1,0) , reverse=True)
但实际输出的结果是这样的。
[('a',5), ('e',4), ('f',3), ('c',3), ('b',3), ('d',1)]
我该如何反转比赛的决胜操作?
lambda x: (-x[1], x[0])
在两个版本中都可以运行。 - roippi