Поиск наивысшего ключа

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

С учетом словаря 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

Ответ 1

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

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

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

Ответ 2

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

>>> d = {5:3, 4:1, 12:2, 14:9}
>>> d[max(d)]
9
>>> max(d)        # just in case you're looking for this
14

Ответ 3

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

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

Ответ 4

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]