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