Python:查找键,其值在字典中具有最大绝对值

时间:2016-07-13 18:10:57

标签: python dictionary

所以说我有一本字典:

d = {'A': 2 , 'B': -4, 'C': 3} 

我想回归' B'。在过去,我的字典没有存储负值,我刚刚检查了具有最大值的密钥:

maxkey = max(d, key=lambda y: d[y])

所以我想我可以尝试类似的东西:

maxkey = max(d, key=lambda abs(y): d[y])

maxkey = max(d, key=lambda y: d[abs(y)])

但两者都返回错误消息。此外,我需要能够不止一次地执行此操作,因此我无法用绝对值替换整个字典中的所有值...

2 个答案:

答案 0 :(得分:5)

我想你想要:

maxkey = max(d, key=lambda y: abs(d[y]))

答案 1 :(得分:1)

在Python中使用lambda表达式时,您希望冒号的右侧是您正在执行的功能。如果之前,你想按值排序,即。 d[y]现在你想要取这些的绝对值,你就这样做了:

maxkey = max(d, key=lambda y: abs(d[y]))