Ответ 1
Вы можете просто использовать max
>>> x = {1:2, 3:6, 5:4}
>>> max(x, key=lambda i: x[i])
3
Или просто:
>>> max(x, key=x.get)
3
Возможный дубликат:
Получение ключа с максимальным значением в словаре?
Скажем, у меня есть словарь, состоящий из целых ключей и целочисленных значений. Я хочу найти целочисленный ключ с наивысшим соответствующим значением. Есть ли встроенный метод для чего-то вроде этого или мне нужно реализовать какой-то алгоритм слияния/сортировки?
Вы можете просто использовать max
>>> x = {1:2, 3:6, 5:4}
>>> max(x, key=lambda i: x[i])
3
Или просто:
>>> max(x, key=x.get)
3
Есть способы сделать это, и предпочтительный способ - это:
import operator
result = max(your_dict.iteritems(), key=operator.itemgetter(1))[0]
Обратите внимание, что для ваших нужд operator.itemgetter(1)
можно заменить на lambda x: x[1]
.