首页 > 解决方案 > 按值对 python 字典进行排序并将前 5 行切片到另一个字典中

问题描述

我的原始字典有许多键和值,如下所示

orig_dict = {'humor':8, 'fiction':8, 'novel':8, ...}如下表

在此处输入图像描述

我想按值对字典进行排序并将前 5 行添加到另一个字典中。我该如何做到这一点?谢谢。

预期输出:

top5_dict = {'humor':8, 'fiction':8, 'novel':8, 'telugu':8, 'Russian':8}

在此处输入图像描述

标签: python-3.xdictionary

解决方案


创建一个反向排序的字典并对前 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}

推荐阅读