Python의 `min()` 및 `max()` 함수 이해
Olivia Novak
Dev Intern · Leapcell

Key Takeaways
min()
및max()
는 반복 가능 항목 또는 인수 중에서 가장 작거나 가장 큰 항목을 식별합니다.key
매개변수를 사용하면 사용자 정의 비교 논리를 사용할 수 있습니다.default
인수는 빈 반복 가능 항목을 안전하게 처리합니다.
Python에서 min()
및 max()
함수는 반복 가능 항목에서 또는 두 개 이상의 인수 중에서 각각 가장 작고 가장 큰 항목을 찾는 데 사용되는 내장 유틸리티입니다. 이러한 함수는 간단하면서도 강력한 도구로 데이터 분석, 정렬 및 비교 작업에 자주 사용됩니다.
기본 사용법
min()
함수
min()
함수는 반복 가능 항목에서 가장 작은 항목을 반환하거나 두 개 이상의 인수 중 가장 작은 항목을 반환합니다.
# 여러 인수를 사용하는 예 print(min(3, 1, 4, 2)) # 출력: 1 # 목록을 사용하는 예 numbers = [10, 5, 8, 3, 9] print(min(numbers)) # 출력: 3
max()
함수
max()
함수는 반복 가능 항목에서 가장 큰 항목을 반환하거나 두 개 이상의 인수 중 가장 큰 항목을 반환합니다.
# 여러 인수를 사용하는 예 print(max(3, 1, 4, 2)) # 출력: 4 # 목록을 사용하는 예 numbers = [10, 5, 8, 3, 9] print(max(numbers)) # 출력: 10
key
인수 사용
두 함수 모두 key
매개변수를 지원하며, 이는 sorted()
가 작동하는 방식과 유사하게 비교 논리를 사용자 정의할 수 있도록 합니다.
# 가장 긴 문자열 찾기 words = ["apple", "banana", "cherry", "date"] print(max(words, key=len)) # 출력: "banana"
key
함수는 각 요소에 적용되며 반환된 값을 기준으로 비교가 이루어집니다.
엣지 케이스 처리
- 반복 가능 항목이 비어 있고 기본값이 제공되지 않은 경우
min()
및max()
는ValueError
를 발생시킵니다. - 이 문제를 방지하려면
default
매개변수(Python 3.4+)를 사용할 수 있습니다.
empty_list = [] print(min(empty_list, default=0)) # 출력: 0
실제 예제
최소 사전 값 찾기
prices = {'apple': 0.40, 'banana': 0.50, 'cherry': 0.25} cheapest = min(prices, key=prices.get) print(cheapest) # 출력: "cherry"
min()
및 max()
로 객체 비교
사용자 정의 객체로 작업할 때 key
매개변수를 사용하여 객체를 비교하는 방법을 정의할 수 있습니다.
class Product: def __init__(self, name, price): self.name = name self.price = price products = [Product("A", 30), Product("B", 20), Product("C", 40)] cheapest = min(products, key=lambda p: p.price) print(cheapest.name) # 출력: "B"
결론
Python의 min()
및 max()
함수는 데이터 구조에서 극단적인 값을 식별하는 데 다재다능하고 효율적인 도구입니다. key
및 default
매개변수를 지원하여 복잡한 비교와 엣지 케이스를 정상적으로 처리할 수 있는 유연성을 제공합니다.
FAQs
예, key
매개변수를 사용하여 객체를 비교하는 방법을 정의합니다.
default
값이 제공되지 않으면 ValueError
가 발생합니다.
예, 단일 패스에서 극단적인 값을 찾으므로 정렬보다 효율적입니다.
Leapcell은 Python 프로젝트 호스팅을 위한 최고의 선택입니다.
Leapcell은 웹 호스팅, 비동기 작업 및 Redis를 위한 차세대 서버리스 플랫폼입니다.
다국어 지원
- Node.js, Python, Go 또는 Rust로 개발하십시오.
무료로 무제한 프로젝트 배포
- 사용량에 대해서만 비용을 지불하십시오. 요청이나 요금이 없습니다.
탁월한 비용 효율성
- 유휴 요금 없이 사용한 만큼만 지불하십시오.
- 예: $25는 평균 응답 시간 60ms에서 694만 건의 요청을 지원합니다.
간소화된 개발자 경험
- 간편한 설정을 위한 직관적인 UI.
- 완전 자동화된 CI/CD 파이프라인 및 GitOps 통합.
- 실행 가능한 통찰력을 위한 실시간 메트릭 및 로깅.
손쉬운 확장성 및 고성능
- 고도의 동시성을 쉽게 처리할 수 있도록 자동 확장됩니다.
- 운영 오버헤드가 없어 구축에만 집중할 수 있습니다.
설명서에서 자세히 알아보세요!
X에서 팔로우하세요: @LeapcellHQ