Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 max(), min() 함수로 최댓값·최솟값 구하기

데이터 처리 프로그램에서 주어진 값 목록에서 최댓값과 최솟값을 구하는 작업은 매우 흔한 요구 사항입니다. 파이썬은 이를 위해 max()min()이라는 내장 함수를 제공하며, 이 두 함수는 숫자뿐 아니라 문자열도 처리할 수 있습니다. 아래 예제를 통해 두 가지 경우를 모두 살펴보겠습니다.

숫자 값 다루기

정수와 실수가 함께 포함된 숫자 목록을 준비했습니다. max()min() 함수는 목록의 모든 요소를 비교하여 각각 최댓값과 최솟값을 정확히 반환합니다.

예제

x=[10,15,25.5,3,2,9/5,40,70]
print("Maximum number is :",max(x))
print("\nMinimum number is :",min(x))

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Maximum number is : 70
Minimum number is : 1.8

목록에 있는 9/5는 실행 시점에 1.8로 계산되며, 이 값이 전체 목록에서 가장 작은 수이기 때문에 최솟값으로 반환됩니다. 즉, 나눗셈 같은 표현식도 평가된 후 비교 대상에 포함됩니다.

문자열 값 다루기

문자열 값은 사전순(lexicographical order)으로 비교되어 올바른 결과를 도출합니다. 내부적으로는 각 문자의 아스키(ASCII) 코드 값을 기준으로 비교가 이루어집니다.

예제

x=['Mon','Tue','Wed','Thu','Fri','Sat','Sun']
print("Maximum number is :",max(x))
print("\nMinimum number is :",min(x))

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Maximum number is : Wed
Minimum number is : Fri

'Wed'는 'W'(아스키 코드 87), 'Fri'는 'F'(아스키 코드 70)로 시작하므로 위와 같은 결과가 나옵니다. 첫 번째 문자의 아스키 코드 값이 클수록 더 큰 문자열로 판단됩니다.

응용: key 매개변수로 비교 기준 바꾸기

max()min() 함수는 key 매개변수를 통해 비교 기준을 직접 지정할 수도 있습니다. 예를 들어 문자열 길이를 기준으로 최댓값과 최솟값을 구하려면 다음과 같이 작성합니다.

words=['apple','banana','kiwi']
print(max(words,key=len))
print(min(words,key=len))
banana
kiwi

이처럼 key 매개변수를 활용하면 단순 값 비교 외에도 다양한 조건으로 최댓값과 최솟값을 유연하게 구할 수 있습니다.