所以说我有一本字典:
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)])
但两者都返回错误消息。此外,我需要能够不止一次地执行此操作,因此我无法用绝对值替换整个字典中的所有值...
答案 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]))