How to find the top N keys of a dictionary having largest values in Python

2 Answers

0 votes
dic = {'a':13, 'b':96, 'c':8, 'd':24, 'e':36, 'f':17, 'g':6, 'h':25, 'i':42}

N = 4

keys = sorted(dic, key=dic.get, reverse=True)[:N]

print(keys)




'''
run:

['b', 'i', 'e', 'h']

'''

 



answered Mar 15, 2023 by avibootz
0 votes
from collections import Counter

dic = {'a':13, 'b':96, 'c':8, 'd':24, 'e':36, 'f':17, 'g':6, 'h':25, 'i':42}

N = 4

top_keys = set()
 
for key, val in Counter(dic).most_common(N):
    top_keys.add(key)
     
print(top_keys)
 
 
 


'''
run:

{'b', 'e', 'i', 'h'}


'''

 



answered Mar 15, 2023 by avibootz
...