Вы можете использовать operator.itemgetter
для этого:
import operator
stats = {'a':1000, 'b':3000, 'c': 100}
max(stats.iteritems(), key=operator.itemgetter(1))[0]
И вместо создания нового списка в памяти используйте stats.iteritems()
. Параметр key
для функции max()
- это функция, которая вычисляет ключ, который используется для определения того, как ранжировать элементы.
Обратите внимание, что если бы у вас была другая пара значений ключа 'd ': 3000, что этот метод вернет только один из двух, хотя оба они имеют максимальное значение.
>>> import operator
>>> stats = {'a':1000, 'b':3000, 'c': 100, 'd':3000}
>>> max(stats.iteritems(), key=operator.itemgetter(1))[0]
'b'
Если вы используете Python3:
>>> max(stats.items(), key=operator.itemgetter(1))[0]
'b'