2012-04-09 9 views
1

私はPython(とstackoverflow)に慣れています...私と一緒に熊!私は、xとyの合計に基づいて最小のキーを見つけたいPythonのリストの辞書からの最小合計

valueDict[i] = [x,y]

:私はこのようになります辞書を持っています。私は私が使用できる値の辞書のために知っている:

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

しかし、私はリストの辞書のために、このアプローチを変更することができるとは思いません。

+1

minVal = min(dict, key=dict.get) # note no parentheses 

行う可能性がありますあなたのコードをフォーマットし、そしてあなたが与える例が正しいことを確認してください - 'min(dict、key = dict.get())'が間違っています。また、 'dict.get'はあいまいです。あなたが' dict'と名付けた 'dict'インスタンスの' get'メソッドを参照しているようですが、 'dict'のunbound' get'メソッド'クラス。そのため、例でも変数名として共通の組み込み関数を使用しないでください。 – agf

答えて

4

key引数の関数は、minとすることができます。あなたは合計に基づいて最小に望んでいた場合の値の辞書のために、あなたは、あなたが

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

また、すべてのアイテムのハッシュ検索を避けるために、min(dict.iteritems()、key = lambda k、v:sum(v))[1] ' – agf

4

あなたは使用することができます。

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

dは辞書です。

関連する問題