如何从字典中得到3个值最高的项?

2024-04-28 12:08:09 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有这本字典: {“A”:3,“B”:4,“H”:1,“K”:8,“T”:0}

我想得到最高3个值的键(在本例中,我将得到键:K B和A)


Tags: 字典本例个值
1条回答
网友
1楼 · 发布于 2024-04-28 12:08:09

您可以使用简单的列表理解表达式:

>>> sorted(my_dict, key=my_dict.get, reverse=True)[:3]
['K', 'B', 'A']

或者,如果还需要值,可以使用^{}

>>> from collections import Counter
>>> my_dict = {"A":3,"B":4,"H":1,"K":8,"T":0}
>>> c = Counter(my_dict)
>>> mc = c.most_common(3)  # returns top 3 values
# content of mc: [('K', 8), ('B', 4), ('A', 3)]

# For getting the keys from "mc":
# >>> [key for key, val in mc]
# ['K', 'B', 'A']

相关问题 更多 >