Python中列表字典的最小和

Python中列表字典的最小和,python,dictionary,Python,Dictionary,我对Python(和stackoverflow)还不太熟悉……请容忍我!我有一本这样的字典: valueDict[i]=[x,y] 我想根据x和y的和找到最小密钥。我知道我可以使用价值观词典: minVal=min(valueDict,key=valueDict.get) 但我不认为我可以修改这种方法来记录列表 您可以使用: minVal = min(d, key=lambda x: sum(d[x])) 其中d是指令。您可以使用: minVal = min(d, key=lambda x:

我对Python(和stackoverflow)还不太熟悉……请容忍我!我有一本这样的字典:

valueDict[i]=[x,y]

我想根据x和y的和找到最小密钥。我知道我可以使用价值观词典:

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

但我不认为我可以修改这种方法来记录列表

您可以使用:

minVal = min(d, key=lambda x: sum(d[x]))
其中d是指令。

您可以使用:

minVal = min(d, key=lambda x: sum(d[x]))

其中d是指令。

您可以为
min
参数提供任何函数。你需要一本价值观词典

minVal = min(dict, key=dict.get) # note no parentheses
如果你想根据总和取最小值,你可以这样做

minVal = min(dict, key=lambda i: sum(dict[i]))

您可以为
min
参数提供任何函数。你需要一本价值观词典

minVal = min(dict, key=dict.get) # note no parentheses
如果你想根据总和取最小值,你可以这样做

minVal = min(dict, key=lambda i: sum(dict[i]))

请格式化您的代码,并确保您给出的示例是正确的--
min(dict,key=dict.get())
是错误的。另外,
dict.get
是不明确的——似乎您指的是
dict
实例的
get
方法,您也将其命名为
dict
,但它也可能意味着
dict
类的未绑定
get
方法。这就是为什么即使在示例中也不应该使用公共内置变量名的原因。请格式化代码,并确保您给出的示例正确--
min(dict,key=dict.get())
是错误的。另外,
dict.get
是不明确的——似乎您指的是
dict
实例的
get
方法,您也将其命名为
dict
,但它也可能意味着
dict
类的未绑定
get
方法。这就是为什么即使在示例中也不应该使用公共内置变量名的原因。或者,为了避免对每个项进行哈希查找,
min(dict.iteritems(),key=lambda k,v:sum(v))[1]
或者为了避免对每个项进行哈希查找,
min(dict.iteritems(),key=lambda k,v:sum(v))[1]