我有一个像这样的字典:{'ex1': 3, 'ex2': 4, 'ex3': 3}
,我想按值对其进行排序。所以我这样做:结果=排序(results.items(),key = lambda x:x [1],reverse = True)。我输入 reverse=True
因为我希望它按降序排序。
所以代码是这样的:
results = {'ex1': 3, 'ex2': 4, 'ex3': 3}
results = sorted(results.items(), key=lambda x: x[1], reverse=True)
for item in results:
print (item[0])
输出为:
ex2
ex1
ex3
但是我想要的输出应该是这样的:
ex2
ex3
ex1
因为在utf-8中,ex3大于ex1。
其实我想说的是,当两个键的值为偶数时,我想按降序打印它们。
我究竟做错了什么?
预先感谢您的回答
最佳答案
这应该可行 - key 函数可以返回一个元组:
results = {'ex1': 3, 'ex2': 4, 'ex3': 3}
results = sorted(results.items(), key=lambda x: (x[1],x[0]), reverse=True)
for item in results:
print (item[0])
给出输出:
ex2
ex3
ex1
关于python - 按 utf-8 的降序对字典进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58954153/