Ответ 1
ваш код печатает ключ с максимальным значением. Вы хотите:
d = {5:3, 4:1, 12:2, 14:9}
val_of_max = d[max(d.keys())]
print val_of_max
То есть, вы должны разыменовать ключ, чтобы вернуть значение.
Я просто смущен тем, почему мой код не работает, вот вопрос и код, который у меня есть до сих пор (тестовый прогон говорит, что мой ответ неверен).
С учетом словаря 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
ваш код печатает ключ с максимальным значением. Вы хотите:
d = {5:3, 4:1, 12:2, 14:9}
val_of_max = d[max(d.keys())]
print val_of_max
То есть, вы должны разыменовать ключ, чтобы вернуть значение.
это будет делать:
>>> d = {5:3, 4:1, 12:2, 14:9}
>>> d[max(d)]
9
>>> max(d) # just in case you're looking for this
14
Тот же код, но не забудьте вызвать значение ключа:
d = {5:3, 4:1, 12:2, 14:9}
val_of_max = max(d.keys())
print d[val_of_max]
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]