Нахождение высшего ключа - PullRequest
       20

Нахождение высшего ключа

1 голос
/ 02 ноября 2009

Я просто не понимаю, почему мой код не работает, вот вопрос и код, который у меня есть (тестовый запуск говорит, что мой ответ неверен).

С учетом словаря d найдите самый большой ключ в словаре и сопоставьте соответствующее значение с переменной val_of_max. Например, если словарь {5:3, 4:1, 12:2}, 2 будет ассоциироваться с val_of_max. Предположим, d не является пустым.

d = {5:3, 4:1, 12:2, 14:9}
val_of_max = max(d.keys())
print val_of_max

Ответы [ 4 ]

12 голосов
/ 02 ноября 2009

ваш код печатает ключ с максимальным значением. То, что вы хотите:

d = {5:3, 4:1, 12:2, 14:9}
val_of_max = d[max(d.keys())]
print val_of_max

То есть вы должны разыменовать ключ, чтобы вернуть значение.

5 голосов
/ 02 ноября 2009

это будет делать:

>>> d = {5:3, 4:1, 12:2, 14:9}
>>> d[max(d)]
9
>>> max(d)        # just in case you're looking for this
14
1 голос
/ 03 ноября 2009

Тот же код, но не забудьте вызвать значение ключа:

d = {5:3, 4:1, 12:2, 14:9}
val_of_max = max(d.keys())
print d[val_of_max]
0 голосов
/ 17 ноября 2009
d= {5:3, 4:1, 12:2, 14:9}

Чтобы напечатать значение, связанное с наибольшим ключом:

print max(d.iteritems())[1]

Чтобы напечатать ключ, связанный с наибольшим значением:

import operator
print max(d.iteritems(), key=operator.itemgetter(1))[0]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...