Python 딕셔너리에서 최댓값 구하기
Python의 내장 자료형인 딕셔너리(dictionary)는 키-값(key-value) 쌍으로 데이터를 저장하는 매우 유용한 구조입니다. 딕셔너리 클래스가 기본으로 제공하는 values() 메서드를 사용하면 각 키-값 쌍에서 값(value) 부분만 모아서 반환받을 수 있습니다. 여기에 내장 함수인 max()를 함께 활용하면 딕셔너리에 저장된 값들 중 가장 큰 값을 간단하게 얻을 수 있습니다.
기본 사용 예제
아래 예제에서는 먼저 딕셔너리를 생성한 뒤, values() 메서드로 값들의 목록을 확인하고, max() 함수로 최댓값을 출력합니다.
>>> dct = {1:45, 2:76, 3:12, 4:55, 5:33}
>>> vlist = dct.values()
>>> vlist
dict_values([45, 76, 12, 55, 33])
>>> max(vlist)
76코드 동작 순서
1단계: 다섯 개의 키-값 쌍을 가진 딕셔너리 dct를 생성합니다.
2단계: dct.values()를 호출하면 dict_values([45, 76, 12, 55, 33]) 형태로 값들만 담긴 뷰 객체가 반환됩니다.
3단계: 이 뷰 객체에 max() 함수를 적용하면 가장 큰 값인 76이 출력됩니다.
한 줄로 간결하게 작성하기
중간 변수 없이 아래처럼 한 줄로 처리할 수도 있습니다.
>>> dct = {1:45, 2:76, 3:12, 4:55, 5:33}
>>> max(dct.values())
76참고: 최댓값을 가진 키까지 알고 싶다면?
최댓값뿐 아니라 그 값에 해당하는 키(key)도 함께 찾고 싶다면 max() 함수에 key 매개변수를 활용하면 됩니다.
>>> dct = {1:45, 2:76, 3:12, 4:55, 5:33}
>>> max(dct, key=dct.get)
2
>>> dct[max(dct, key=dct.get)]
76이처럼 values()와 max()의 조합은 딕셔너리 데이터 분석에서 가장 기본적이면서도 실용적인 패턴이므로 꼭 익혀두시기 바랍니다.