my_dict = {'label': 6, 'label_2': 5, 'label_3': 9, 'label_4': 12}
我想根据它们的最高值创建一个列表,其中包含前2个(或3个,4个或50个......这将会有所不同)字典键。所以在上面的例子中,如果我想要前2名,我应该得到:
['label_3', 'label_4']
前三名我应该得到:
['label', 'label_3', 'label_4']
等等。
在阅读了其他一些stackoverflow线程之后,我一直在尝试使用heapq,但是无法让它以我想要的方式工作。希望得到一些帮助。
答案 0 :(得分:0)
当然,我在这里发布的那一刻,我找到了一个解决方案(感谢heapq documentation)。这有效:
my_list = heapq.nlargest(3, my_dict, key=my_dict.get)
这将通过my_dict并返回具有3个最大值的键。
感谢。