파이썬(Python)에서 문자열-정수 매핑을 가진 딕셔너리(dict)가 있을 때, 내장 함수 max()를 사용하면 가장 큰 키를 손쉽게 찾을 수 있습니다. 딕셔너리의 키-값 쌍을 순회하면서 키를 기준으로 최댓값을 구하는 방식입니다.
예제
d = {
'foo': 100,
'bar': 25,
'baz': 360
}
print(max(k for k, v in d.items()))
출력 결과
foo
d.items()는 딕셔너리의 모든 키-값 쌍을 반환합니다. 여기에 제너레이터 표현식을 적용해 키만 추출한 뒤 max()에 전달하면, 알파벳 순서상 가장 뒤에 위치하는 키인 'foo'가 결과로 출력됩니다.
더 간결한 작성 방법
사실 제너레이터 표현식 없이도 딕셔너리 객체를 max()에 직접 전달하면 기본적으로 키를 대상으로 비교가 이루어집니다.
print(max(d)) # 결과: foo
값(value)이 가장 큰 키 찾기
키 자체가 아니라 값이 가장 큰 항목의 키를 찾고 싶다면 key 매개변수를 활용하면 됩니다.
print(max(d, key=d.get)) # 결과: baz (값 360)
이처럼 파이썬의 max() 함수와 key 매개변수를 조합하면, 키 또는 값을 기준으로 하는 등 다양한 조건에 맞게 딕셔너리의 최댓값 정보를 유연하게 조회할 수 있습니다.