4

这给出了字典中的最大值,但是我如何获得最大值的字典键?

max([d[i] for i in d])
4

2 回答 2

14

使用key=关键字参数max()

max(d, key=lambda k: d[k])

您也可以使用 lambda 代替operators.itemgetter

import operators
max(d, key=operators.itemgetter(d))

或传入d.get

max(d, key=d.get)
于 2012-12-02T13:06:30.317 回答
0

假设在这种情况下使用 == 进行比较是安全的,这可能并不总是正确的,例如使用浮点数。

d = { 'a' : 2, 'b' : 2, 'c' : 1}

max_val = max(d.values())
max_keys = [k for k, v in d.items() if v == max_val]

print(max_keys)

给,

['a', 'b']

[Program finished]
于 2021-05-18T06:24:50.180 回答