在Python程序中查找字典中的最高3个值

在本文中,我们将学习下面给出的问题陈述的解决方案。

问题陈述 -给我们一个字典,我们需要在字典中打印出3个最高值。

有两种方法,如下

方法1:使用Collections.counter()函数

示例

# collections module
from collections import Counter
# Dictionary
my_dict = {'T': 23, 'U': 22, 'T': 21,'O': 20, 'R': 32, 'S': 99}
k = Counter(my_dict)
# 3 highest values
high = k.most_common(3)
print("具有3个最高值的字典:")
print("Keys : Values")
for i in high:
   print(i[0]," : ",i[1]," ")

输出结果

具有3个最高值的字典:
Keys : Values
S : 99
R : 32
U : 22

在此,该mostcommon()方法返回n个最常见元素及其从最常见到最小的计数的列表。

方法2使用nlargest.heapq()函数

示例

# nlargest module
from heapq import nlargest
# Dictionary
my_dict = {'T': 23, 'U': 22, 'T': 21,'O': 20, 'R': 32, 'S': 99}
ThreeHighest = nlargest(3, my_dict, key = my_dict.get)
print("具有3个最高值的字典:")
print("Keys : Values")
for val in ThreeHighest:
   print(val, " : ", my_dict.get(val))

输出结果

具有3个最高值的字典:
Keys : Values
S    : 99
R    : 32
U    : 22

在这里,我们使用了n个最大的元素,它包含三个参数,一个是要选择的元素的编号,另外两个是字典及其键。

结论

在本文中,我们学习了如何在字典中找到最高的3个值