[Python] max() 함수의 key 파라미터 + 딕셔너리에서 활용하기

orangesnail·2025년 3월 6일

Python

목록 보기
12/21

max() 함수의 기본형

max 함수의 기본형은 아래와 같다.

max(iterable, key=func, default=value)

iterable 자리에는 리스트, 튜플, 딕셔너리 등 반복 가능한 자료형이 들어간다.
key=func정렬 기준을 정의하는 함수이다. ⭐️ max() 함수는 iterable의 각 요소에 대해 func(요소)를 호출해 최댓값을 결정한다!!!
default에는 빈 iterable일 때 반환할 기본값이 들어간다.

간단하게 사용할 때는 아래와 같이 사용 가능하다.

nums = [1, 2, 3]
print(max(nums))

nums 리스트의 최댓값인 3이 출력된다.

max() 함수의 key 파라미터 사용하기

key 파라미터를 사용해 원하는 기준에 따라 max 값을 찾을 수 있다.

animals = ["cat", "dog", "giraffe", "capybara"]
longest = max(words, key=len)
print(longest)

가장 긴 단어인 "capybara"가 출력된다.

딕셔너리에서 max() 함수 사용하기

1️⃣ 딕셔너리에서 가장 큰 value 출력하기

max_value = max(mydict.values())
print(max_value)

dict.values()를 통해 딕셔너리의 모든 value를 리스트 형태로 반환받을 수 있다. 이걸 max()에 넘겨주면 최댓값을 바로 찾을 수 있다!

2️⃣ 딕셔너리에서 가장 큰 value를 가지는 key 출력하기

get() 함수를 사용해 value를 반환해야 한다!

mydict = {
	"cat": 30,
    "dog": 20,
    "capybara": 10
}

max_animal = max(mydict, key=mydict.get)
print(max_animal)

맨 위에서도 말했듯이, max() 함수는 iterable의 각 요소에 대해 func(요소)를 호출해 최댓값을 결정한다.

이렇게 하면 max() 함수가 mydict의 각 key에 대해 get(key)를 호출하게 된다. 따라서 최대인 value를 가지는 key가 max_animal에 저장되어 "cat"이 출력된다.

🤔 values()도 딕셔너리의 value 값들을 리턴하는 함수니까 key=dict.values()라고 써도 되지 않을까? 라는 의문이 생겼다. 하지만 이렇게 하면 가장 큰 value 자체(숫자)만 반환하지 그 value이 어떤 key의 value인지는 출력하지 못한다.

3️⃣ 딕셔너리에서 가장 큰 value와 해당 key 모두 가져오기

max_key = max(mydict, key=mydict.get)
max_value = mydict[max_key]
print(max_key, max_value)

최댓값을 가지는 key를 먼저 찾은 후 그 key에 해당하는 value를 딕셔너리에서 가져온다.

profile
초보입니다. 피드백 환영합니다 😗

0개의 댓글