python - 按值排序字典
问题描述
我有一个整数字典。
d = {'jjd':2,'ddf':1,'kik':3}
不过,它的时间要长得多。我想按从最高到最低的值排序。但我真的希望在数组中返回结果,所以我可以像这样迭代它:
for x in results:
print d[x]
这应该打印出来: ['kik','jjd','ddf']
解决方案
您可以执行以下操作收集 dicts 项的键,按降序排列:
results = [k for k, v in sorted(d.items(), key=lambda i: i[1], reverse=True)]
# ['kik', 'jjd', 'ddf']
推荐阅读
- arrays - Swift:尝试从二维数组中检索字符串时,“'Any' 类型的值没有下标”
- c++ - C++:不能使 operator<< 成为模板嵌套类的朋友
- google-maps - Google Maps fitBounds仅在一个点时不应用填充
- bash - 为什么用二进制替换进程不起作用?
- spring-boot - 使用 Spring Data 更新具有一对一关系的实体
- arguments - tcsh 别名参数,arg 选择器周围没有空格
- typescript - 如何在 TSLint 中启用“仅错误预防”?(禁用样式检查等)
- javascript - 将左 div 垂直居中,同时保持右 div 标准
- app-inventor - MIT App Inventor 访问通过 OTG 连接的 USB 驱动器文件的路径是什么?
- r - 如何在 ggplot2 的图形中编写附加标题?