Как мне получить самый высокий ключ в словаре Python? - PullRequest
2 голосов
/ 20 мая 2010

d = {'яблоко': 9, 'апельсины': 3, 'виноград': 22}

Как мне вернуть самый большой ключ / значение?

Редактировать: Как создать список, отсортированный по наибольшему или наименьшему значению?

Ответы [ 4 ]

10 голосов
/ 20 мая 2010
>>> d = {'apple':9,'oranges':3,'grapes':22}
>>> v, k = max((v, k) for k, v in d.items())
>>> k
'grapes'
>>> v
22

Редактировать : Сортировать их:

>>> items = sorted(((v, k) for k, v in d.items()), reverse=True)
>>> items
[(22, 'grapes'), (9, 'apple'), (3, 'oranges')]
2 голосов
/ 20 мая 2010

Вы хотите использовать max () . Чтобы получить самый большой ключ, используйте:

max(d.keys())

Или:

max(d)

Чтобы получить наибольшее значение, используйте:

max(d.values())
0 голосов
/ 20 мая 2010

"" "Как тоже распечатать ключ?" ""

maxval = max(d.itervalues())
maxkeys = [k for k, v in d.iteritems() if v == maxval]
0 голосов
/ 20 мая 2010
max(d.values())

Отредактировано:

Выше приведено максимальное значение. Чтобы получить пару ключ / значение с максимальным значением, вы можете сделать это:

sorted(d.items(), key=lambda x:x[1], reverse=True)[0]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...