关于python:找到最高密钥

Finding the highest key

我只是对我的代码为什么不能工作感到困惑,这里是我到目前为止的问题和代码(测试运行表明我的答案是错误的)。

给定字典d,在字典中查找最大的键,并将相应的值与变量val_of_max关联起来。例如,考虑到字典{5:3, 4:1, 12:2},2将与val_of_max关联。假设d不是空的。

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


您的代码以最大值打印密钥。你想要的是:

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

也就是说,必须取消对键的引用才能返回值。


这样做可以:

1
2
3
4
5
>>> 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
2
3
d = {5:3, 4:1, 12:2, 14:9}
val_of_max = max(d.keys())
print d[val_of_max]

1
d= {5:3, 4:1, 12:2, 14:9}

要打印与最大键关联的值:

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

要打印与最大值关联的键:

1
2
import operator
print max(d.iteritems(), key=operator.itemgetter(1))[0]