python-3.x - 按值对 python 字典进行排序并将前 5 行切片到另一个字典中
问题描述
我的原始字典有许多键和值,如下所示
orig_dict = {'humor':8, 'fiction':8, 'novel':8, ...}
如下表
我想按值对字典进行排序并将前 5 行添加到另一个字典中。我该如何做到这一点?谢谢。
预期输出:
top5_dict = {'humor':8, 'fiction':8, 'novel':8, 'telugu':8, 'Russian':8}
解决方案
创建一个反向排序的字典并对前 5 个值进行切片。
orig_dict = {'humor': 8, 'fiction': 8, 'novel': 8, 'paper': 1, 'tkinter': 2, 'linux': 8}
sorted_dict = {key: value for key, value in sorted(orig_dict.items(), key=lambda item: item[1], reverse=True)[:5:]}
print(sorted_dict)
# {'humor': 8, 'fiction': 8, 'novel': 8, 'linux': 8, 'tkinter': 2}
推荐阅读
- javascript - Javascript随机元素,不重复最后一个
- python - RuntimeError:无法打开 shape_predictor_68_face_landmarks.dat?
- java - elasticsearch date_format 异常
- spring - 为什么要编码而不是配置?
- c# - Form.ShowDialog(); 抛出 System.OutPfMemoryException C#
- css - 正则表达式替换特定的字体系列值
- java - Java链表在第一个位置插入节点
- php - 如何解决未定义的变量
- php - 在 Moodle 中自动验证用户身份
- python - Python中消息框的配置