Если вам нужно знать только ключ с максимальным значением, вы можете сделать это без iterkeys
или iteritems
, потому что итерация через словарь в Python - это итерация через его ключи.
max_key = max(stats, key=lambda k: stats[k])
EDIT :
Из комментариев, @ user1274878:
Я новичок в python.
blockquote>Yep ...
max
max (iterable [, key])
max (arg1, arg2, * args [, key])
Возвращает наибольший элемент в итерабельном или самом большом из двух или более аргументов.
blockquote >Дополнительный аргумент
key
описывает, как сравнивать элементы, чтобы получить максимум среди них:lambda <item>: return <a result of operation with item>
Возвращенные значения будут сравниваться.
Dict
Python dict - хеш-таблица. Ключ dict - это хэш объекта, объявленного как ключ. Из-за соображений производительности итерация, хотя dict реализован как итерация через ее ключи.
Поэтому мы можем использовать ее, чтобы избавиться от операции с получением списка ключей.
Закрытие
Функция, определенная внутри другой функции, называется вложенной функцией. Вложенные функции могут обращаться к переменным охватывающей области.
blockquote>Переменная
stats
, доступная через атрибут__closure__
функцииlambda
, как указатель на значение переменной, определенной в родительская область.