2016-11-19 10 views
1

私は嘘をつかないでしょう、これは宿題です。私は、彼らが最大値を持って示すために、シンディとフランクの名前の両方をプリントアウトする必要がPython辞書の最大値

scores = dict() 
scores['Andy'] = 78 
scores['Bill'] = 82 
scores['Cindy'] = 94 
scores['Dave'] = 77 
scores['Emily'] = 82 
scores['Frank'] = 94 
scores['Gene'] = 87 

max_val = max(scores, key=scores.get) 
print(max_val) 

、それだけで最初の名前(シンディ)を出力します:私は辞書に最大値を見つけようとしています。どのようにして2番目のものを印刷するのですか?私はこれが非常に簡単な答えになると確信していますが、私を十字架にしてはいけません。私はまだかなり新しいです。

答えて

2

あなたは最大値を見つけました。今だけの比較:

max_vals = [x for x, v in scores.items() if v == scores[max_val]] 
print(max_vals) 

>>> ['Cindy', 'Frank'] 
+0

を助けてくれてありがとう! –

0

を単に最大値を見つけるために、各キーの値を比較し、print文にこれを追加します。

scores = dict() 
scores['Andy'] = 78 
scores['Bill'] = 82 
scores['Cindy'] = 94 
scores['Dave'] = 77 
scores['Emily'] = 82 
scores['Frank'] = 94 
scores['Gene'] = 87 

max_val = max(scores.values()) 
print(scores) 
print ([k for k,v in scores.items() if v == max_val]) 
関連する問題