2016-11-19 2 views
1

그래서 나는 거짓말을하지 않을 것입니다. 이것은 숙제 임무입니다. 나는 그들이 최대 값을 보여주기 위해 신디와 프랭크의 이름을 모두 인쇄 할 필요가파이썬 사전의 최대 값

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

최대 값을 찾았습니다. 지금 바로 비교 :

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

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

이 도움을 주셔서 감사합니다! –

0

그냥 최대 값을 찾기 위해, 인쇄 문에 이것을 추가하는 각 키의 값을 비교 :

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