2016-11-08 5 views
0

私は現在、学生としてPythonを学習していますが、私は辞書の考え方を把握していないようです。max onを理解する

は、私が最も高い値を持つキーを返すように機能maxを使用するようにしたいのは、

d = {'I': 1, ' ': 2, 'P': 1, 'L': 1, 'E': 3, 'H': 1, 'D': 1, 'N': 1} 

を言ってみましょう。

max (d.values(), key = lambda x: x[0]) 

しかし、私はあなたがd.values()に渡されたので、あなたは、最大を取得するためにmax()を求めている

TypeError: 'int' object is not subscriptable 
+0

'd.values()'の辞書の整数である*値*を返します。それらを下付することはできません。 – Li357

+0

整数のインデックスを作成しています。適切な方法で複製をチェックアウトする。 – Kasramvd

+0

d.values()はリストを返すので、単にリストmax(d.values())の最大値を取得することができます。あなたは現在、行うことができない整数のインデックスを作成しようとしています! – chatton

答えて

0

を言うエラーが発生します。これらの値のそれぞれはintオブジェクトなので、x[0]を実行することはできません。

辞書自体に、keyとして、d.getを使用してください。そのオブジェクトに対する反復は、キーを生成し、max()は何d.get(k)リターンに基づいてキーを見つけます:

max(d, key=d.get) 
関連する問題