티스토리 뷰
파이썬 최소, 최대값을 찾는 함수min,max / dict min, max 함수 설명과 매개변수 key, default (Python)
영지공지 2020. 7. 8. 10:02
파이썬 min, max 함수
- 순서 -
1. max
2. min
3. 매개변수(key, default)
4. dictionary max, min
1. max( )
max(iterable) 괄호( ) 안에 리스트, 문자 열등 반복 가능한 자료형을 넣으면 가장 큰 값을 반환해준다.
>>> max(-5, 0, 3)
3
>>> max(-5, 3, 0, 3, -5)
3
2. min( )
min(iterable) 괄호( ) 안에 리스트, 문자 열등 반복 가능한 자료형을 넣으면 가장 작은 값을 반환해준다.
>>> min(-5, 0, 3)
-5
>>> min(-5, 3, 0, 3, -5)
-5
3. Parameter
min, max 모두 key, default 매개변수를 갖고 있다.
key
함수를 값으로 넣는다. lambda를 이용할 수 있다. key= function을 기준으로 최대, 최솟값을 찾는다.
절댓값을 찾는 함수 abs를 key값으로 넣을 때
>>> min(-5, 3, 0, 3, -5, key=abs)
0
>>> nums = [-5, 3, 0, 3, -5]
>>> max(nums, key=abs)
-5
나머지를 구하는 lambda 식을 key 값으로 넣을 때
>>> nums = [-5, 3, 0, 3, -5]
>>> min(nums, key= lambda x : x%3 )
3
>>> max(-5, 3, 0, 3, -5, key= lambda x : x%3 )
-5
default
iterable 객체가 비어있는 경우 반환할 값을 지정한다.
default를 지정하지 않고 iterable이 빈 경우는 ValueError가 발생한다.
>>> bin = []
>>> max(bin, default=10)
10
>>> max(bin)
ValueError: max() arg is an empty sequence
4. dictionary 자료형
max, min
max 함수로 예를 든다. min 함수 사용방법도 동일함.
dict자료형을 iterable로 넣으면 key값을 기준으로 최대/최소 값을 찾는다.
>>> max({1:-5, 5:3, 10:0})
10
>>> dict_nums = {1:-5, 5:3, 10:0}
>>> max(dict_nums.keys())
10
value값을 기준으로 최대/최소 값을 찾는 경우
'dict변수. values( )' 형태로 사용한다.
>>> dict_nums = {1:-5, 5:3, 10:0}
>>> max(dict_nums.values())
3
value값이 최대/최소인 key값을 출력하려는 경우 max/min 함수의 매개변수 key=function을 이용한다.
lamda 식을 function으로 넣어 사용한 예시
>>> dict_nums = {1:-5, 5:3, 10:0}
>>> max(dict_nums, key= lambda x : dict_nums[x]))
dict변수[key값] 형태로 호출할 때, 대괄호[ ] 안의 key값에 해당하는 value값이 출력되는 점을 이용한 lamda 식이다.
파이 참 문서
max
def max(__iterable: Iterable [_T],
*,
key: (_T) -> Any =...,
default: _VT) -> Union [_T, _VT]
Possible types:
• (__arg1: _T, __arg2: _T, _args: Tuple [_T,...], key: (_T) -> Any) -> _T
• (__iterable: Iterable [_T], Any, key: (_T) -> Any) -> _T
• (__iterable: Iterable [_T], Any, key: (_T) -> Any, default: _VT) -> Union [_T, _VT]
--------------------
max(iterable, *[, default=obj, key=func]) -> value max(arg1, arg2, *args, *[, key=func]) -> value With a single iterable argument, return its biggest item. The default keyword-only argument specifies an object to return if the provided iterable is empty. With two or more arguments, return the largest argument.
min
def min(__iterable: Iterable [_T],
*,
key: (_T) -> Any =...,
default: _VT) -> Union [_T, _VT]
Possible types:
• (__arg1: _T, __arg2: _T, _args: Tuple [_T,...], key: (_T) -> Any) -> _T
• (__iterable: Iterable [_T], Any, key: (_T) -> Any) -> _T
• (__iterable: Iterable [_T], Any, key: (_T) -> Any, default: _VT) -> Union [_T, _VT]
--------------------
min(iterable, *[, default=obj, key=func]) -> value min(arg1, arg2, *args, *[, key=func]) -> value With a single iterable argument, return its smallest item. The default keyword-only argument specifies an object to return if the provided iterable is empty. With two or more arguments, return the smallest argument.
'파이썬 스킬업 > 파이썬 함수 & 문법' 카테고리의 다른 글
파이썬 count( ) 문자열의 개수, 리스트의 개수 세는 함수 (Python) (0) | 2020.07.08 |
---|---|
파이썬 zip( ) 함수_ 길이가 같은 리스트 등의 요소를 묶어주는 함수 (Python) (0) | 2020.07.06 |
파이썬 정렬 함수 sort, sorted _ key = lambda, function / reverse= 파라미터 이용 방법 (Python) (5) | 2020.07.06 |