Python中列表字典的最小和
我对Python(和stackoverflow)还不太熟悉……请容忍我!我有一本这样的字典: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:
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]