Python 中列表字典的最小总和

use*_*115 1 python dictionary

我是 Python(和 stackoverflow)的新手……请耐心等待!我有一本看起来像这样的字典:

valueDict[i] = [x,y]

我想根据 x 和 y 的总和找到最小键。我知道我可以使用的值字典:

minVal = min(valueDict, key=valueDict.get)

但我不认为我可以为列表字典修改这种方法。

Ism*_*awi 5

您可以为 的key参数提供任何函数min。对于您所做的值字典

minVal = min(dict, key=dict.get) # note no parentheses
Run Code Online (Sandbox Code Playgroud)

如果你想根据总和达到最小值,你可以这样做

minVal = min(dict, key=lambda i: sum(dict[i]))
Run Code Online (Sandbox Code Playgroud)

  • 或者,为了避免对每个项目进行哈希查找,`min(dict.iteritems(), key = lambda k, v: sum(v))[1]` (3认同)