2016-11-19 47 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) 

我需要打印出兩個Cindy和弗蘭克的名字,以表明他們有最大的價值,但它打印出只有第一個名稱(辛迪)。我怎樣才能打印第二個呢?我相信這將是一個非常簡單的答案,但請不要把我釘死在十字架上。我對這個還是比較新的。

回答

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])