假设我有一本像这样的字典:
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)]
如何撤销决胜局操作?
您可以在 python 3 中使用这个对排序函数的调用:
sortedList = sorted(h, key=lambda k: (-k[1], k[0]))
这将给出与 python 2 排序相同的结果:
[('a',5), ('e',4), ('b',3), ('c',3), ('f',3), ('d',1)]
Tôi là một lập trình viên xuất sắc, rất giỏi!