<개인공부>/[Python]

[python] 파이썬 max함수, min함수에 대해서

BlockDMask 2020. 8. 21. 00:00
반응형

안녕하세요. BlockDMask 입니다. 오늘은 파이썬의 내장함수(빌트인함수)들 중 max 함수, min 함수에 대해서 이야기 해보려 합니다. 파이썬은 공부를 하면 할 수록 정말 미리 만들어 놓은 다양한 기능이 많은 언어 인것 같습니다.

그럼 오늘의 포스팅 시작해보겠습니다.

<목차>

1. 파이썬 min 함수

1-1) min 함수에 대한 설명

1-2) min(iterable) 예제

1-3) min(arg1, arg2, ... ) 예제

2. 파이썬 max 함수

2-1) max 함수에 대한 설명

2-2) max(iterable) 예제

3-3) max(arg1, arg2, ... ) 예제



1. 파이썬 내장함수 min


1-1) python min 함수 설명

min(x)은 인수로 받은 자료형 내에서 최소값을 찾아서 반환하는 함수 입니다.

여기서 중요한게 x는 iterable 한 자료형이 들어가야한다는 것 입니다.

iterable 이란 반복이 가능한 데이터 타입 즉, member를 하나씩 반환(접근)할 수 있는 데이터 타입을 말합니다. 이런 iterable 자료형으로는 문자열, 리스트, 튜플 등이 있습니다.

그럼 함수의 기본형을 한번 살펴 볼까요?

min(iterable, *[, default=obj, key=func]) -> value

뒤에 매개변수 두개는 떼버리고 맨 앞에 iterable 만 보면 됩니다.

쉽게 min(iterable) 형태만 알면 됩니다. 정리해서 이야기 해보겠습니다. 기본형 : min(iterable) 매개변수 : 반복이 가능한 자료형 반환형 : 매개변수로 들어온 인자 내부에서 제일 작은 값을 반환합니다.

여기까지만 알면 되는데 저는 함수의 원형이 궁금하기 때문에 한번 더 들어가 보았습니다. 함수는 정의가 이렇게 되어있습니다. def min(*args, key=None):

*args는 가변인자를 뜻함으로 여러개의 인자가 들어갈 수 있습니다.

그렇기 때문에 아래와 같은것도 가능해 집니다.

min(arg1, arg2, *args, *[, key=func]) -> value

이건 무슨 뜻인가 하면, 리스트 N개를 비교할 수 있다는 것 입니다.

응용형 : min(iterable1, iterable2, ...)

매개변수 : 반복이 가능한 자료형 '들'

반환형 : 매개변수로 들어온 반복이 가능한 인자들 중에 가장 작은 인자(덩어리)을 반환합니다. 여기서 반환형은 iterable1내부에 가장 작은 값이 아니라, iterable1 과 iterable2 중에 작은걸 반환한다는 것 입니다.

1-2) 파이썬 min(iterable) 함수 예제

# =========================================================
# min(iterable) 함수 예제1 : 리스트 이용
a = [1, 2, 3]
print(min(a))  # 반환 : 1

# =========================================================
# min(iterable) 함수 예제2 : 문자열 이용
b = 'BlockDMask'
print(min(b))  # 반환 : 'B'

# =========================================================
# min(iterable) 함수 예제3 : non iterable 인 경우
c = 1
# print(min(c))  # error : 'int' object is not iterable

# =========================================================
# min(iterable) 함수 예제4 : 튜플 이용
d = (6, 5, 4, 2)
print(min(d))  # 반환 : 2

# =========================================================
# min(iterable) 함수 예제5 : 리스트 이용2
e = [3, 4, 5, 'a', 'b', 'c']
# print(min(e))  # error : str 타입과 int 타입은 비교할 수 없기 때문


1-3) 파이썬 min(arg1, arg2) 함수 예제

# =========================================================
# min(arg1, arg2) 함수 예제1 : 리스트
a = [1, 2, 3]
b = [4, 5, 6]
print(min(a, b))   # 반환 : [1,2,3]

# =========================================================
# min(arg1, arg2) 함수 예제2 : 문자열
c = 'BlockDMask'
d = 'BAAAlockDMask'
print(min(c, d))   # 반환 : 'B'

# =========================================================
# min(arg1, arg2) 함수 예제3 : 타입이 다른 경우
e = [3, 2, 1]
f = ['a', 3, 2, 1]
# print(min(e, f)) # error
# TypeError: '<' not supported between instances of 'str' and 'int'

# =========================================================
# min(arg1, arg2, ...) 함수 예제4 : 인자가 N 개
g = [2, 3, 4]
h = [2, 2, 2, 2, 2]
i = [9, 8, 7, 6, 5]
j = [1]
k = [0]
print(min(g, h, i, j, k))   # 반환 : [0]



2. 파이썬 내장함수 max


2-1) python max 함수 설명

max 함수는 min 함수와 설명이 동일합니다.

똑같이 iterable 데이터 타입을 인자로 받아서 그중 가장 값이 큰 것을 반환하는 함수이며, 매개변수를 여러개 받는 형태도 존재합니다.

max함수의 기본형을 한번 살펴 볼까요?

max(iterable, *[, default=obj, key=func]) -> value

기본형 : max(iterable) 매개변수 : 반복이 가능한 자료형 반환형 : 매개변수로 들어온 인자 내부에서 제일 큰 값을 반환합니다.

max(arg1, arg2, *args, *[, key=func]) -> value

응용형 : max(iterable1, iterable2, ...)

매개변수 : 반복이 가능한 자료형 '들'

반환형 : 매개변수로 들어온 반복이 가능한 인자들 중에 가장 큰 데이터를 반환합니다.

2-2) 파이썬 max(iterable) 함수 예제

# =========================================================
# max(iterable) 함수 예제1 : 리스트 이용
a = [4, 3, 2, 1, 9]
print(max(a))  # 반환 : 9

# =========================================================
# max(iterable) 함수 예제2 : 문자열 이용
b = 'BlockDMask'
print(max(b))  # 반환 : 's'

# =========================================================
# max(iterable) 함수 예제3 : 튜플 이용
d = (6, 5, 4, 2, 999, 1000, 0)
print(max(d))  # 반환 : 1000


2-3) 파이썬 max(arg1, arg2) 함수 예제

# =========================================================
# max(arg1, arg2) 함수 예제1 : 리스트
a = [1, 2, 3]
b = [4, 5, 6]
print(max(a, b))  # 반환 : [4,5,6]

# =========================================================
# max(arg1, arg2) 함수 예제2 : 문자열
c = 'BlockDMask'
d = 'Blog'
print(max(c, d))  # 반환 : 'Blog'

# =========================================================
# max(arg1, arg2, ...) 함수 예제4 : 인자가 M 개
e1 = [2, 3, 4]
e2 = [2, 2, 2, 2, 2]
e3 = [9, 8, 7, 6, 5]
e4 = [1]
e5 = [0]
print(max(e1, e2, e3, e4, e5))  # 반환 : [9, 8, 7, 6, 5]

감사합니다. 이상으로 오늘 배운것은 파이썬 내장함수 max와 min 이었습니다.

반응형