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



