как найти максимальное значение в словаре python?

Найти три ключа с самыми высокими значениями в словаре

my_dict = {'a':500, 'b':5874, 'c': 560,'d':400, 'e':5874, 'f': 20}

Ответы (2 шт):

Автор решения: Victor VosMottor
my_dict = {'a':500, 'b':5874, 'c': 560,'d':400, 'e':5874, 'f': 20}

print(sorted(my_dict.values())[-3:])

Func:

lambda v, d: sorted(d.values())[-v:]
→ Ссылка
Автор решения: dIm0n

Вот так вот для ключей+значений:

import heapq, operator

my_dict = {'a': 500, 'b': 5874, 'c': 560, 'd': 400, 'e': 5874, 'f': 20}

print(heapq.nlargest(3, my_dict.items(), key=operator.itemgetter(1)))

Вот так вот только для ключей:

import heapq, operator

my_dict = {'a': 500, 'b': 5874, 'c': 560, 'd': 400, 'e': 5874, 'f': 20}

print(list(zip(*heapq.nlargest(3, my_dict.items(), key=operator.itemgetter(1))))[0])

Или проще:

import heapq

my_dict = {'a': 500, 'b': 5874, 'c': 560, 'd': 400, 'e': 5874, 'f': 20}

print(heapq.nlargest(3, my_dict, key=lambda k: my_dict[k]))
→ Ссылка