Получение ключа максимальной составляющей кортежа в словаре кортежей - PullRequest
3 голосов
/ 12 июля 2011

У меня есть словарь, все компоненты которого состоят из двух кортежей (все целые числа), и я хочу найти ключ к кортежу с наибольшим вторым компонентом. Как я могу сделать это в Python 2.6?

Ответы [ 2 ]

8 голосов
/ 12 июля 2011

Это будет делать следующее (где d - ваш словарь):

max(d.items(), key=lambda(k,v):v[1])[0]

В этом решении ключом (если вы простите за каламбур) является использование необязательного аргумента key дляmax.

2 голосов
/ 12 июля 2011

AIX 'ответ хороший.Вы можете добиться того же, не используя лямбды, если хотите, хотя:

import operator
m = max(d.iteritems(), key=operator.itemgetter(1))[0]
...