2014-12-01 2 views
1

키와 값 목록이있는 사전에서 가장 자주 값 목록에있는 값을 어떻게 찾을 수 있습니까? 나는 당신이 루프를 사용하고리스트에 추가한다고 가정하지만 그렇게하는 방법은 확실하지 않다. 또한 가장 자주 발생하는 값을 인쇄하고 싶습니다.사전에서 어떤 값이 가장 많이 발생하는지 어떻게 알 수 있습니까?

감사합니다.

저는 프로그래밍에 익숙하지 않으며이를 해결하기 위해 람다 또는 기타 복잡한 방법에 익숙하지 않습니다. 그렇게 할

답변

4

한 가지 방법은 그것을해야 값으로 사전 정렬 collections.Counter

from collections import Counter 

>>> d = {'a': 5, 'b': 3, 'c': 5, 'd': 1, 'e': 5} 
>>> c = Counter(d.values()) 
>>> c 
[(5, 3), (1, 1), (3, 1)] 

>>> c.most_common()[0] 
(5, 3) # this is the value, and number of appearances 
+0

이것은 불행히도 제가 이해하기에는 너무 복잡합니다. –

0

사용하는 것입니다 :

d = {'a': 5, 'b': 3, 'c': 5, 'd': 1, 'e': 5} 

print(d[sorted(d, key=lambda k: d[k])[-1]]) 

사이버 권리, 위에서 언급 한 가장 큰 값을 가져옵니다. 가장 자주 방문하려면 아래를 참조하십시오. 내 아이디어는 collections.Counter를 사용하지 않고 값을 얻는 것입니다.

counts = {} 
for k in d: 
    counts[d[k]] = counts.get(d[k], 0) + 1 


print(sorted(counts)[-1]) # 5 
print(counts)    # {1: 1, 3: 1, 5: 3} 
관련 문제