Поиск наибольшего значения в словаре

Возможный дубликат:
Получение ключа с максимальным значением в словаре?

Скажем, у меня есть словарь, состоящий из целых ключей и целочисленных значений. Я хочу найти целочисленный ключ с наивысшим соответствующим значением. Есть ли встроенный метод для чего-то вроде этого или мне нужно реализовать какой-то алгоритм слияния/сортировки?

Ответ 1

Вы можете просто использовать max

>>> x = {1:2, 3:6, 5:4}
>>> max(x, key=lambda i: x[i])
3

Или просто:

>>> max(x, key=x.get)
3

Ответ 2

Есть способы сделать это, и предпочтительный способ - это:

import operator

result = max(your_dict.iteritems(), key=operator.itemgetter(1))[0]

Обратите внимание, что для ваших нужд operator.itemgetter(1) можно заменить на lambda x: x[1].