-
lambda파이썬 Study/라이브러리 2021. 3. 14. 17:42
참조 :
https://offbyone.tistory.com/73
■ Lambda
1) 정의 :
런타임에 생성해서 사용 가능한 익명함수
- filter / map / reduce 등과 같이 사용하면 강력함
lambda param1<, param2...> : 표현식
# return 문이 포함되어있지 않음, 표현식 자체가 return 된다g = lambda x: x**2 print(g(8)) >>> 64 f = lambda x, y: x + y print(f(4, 4)) >>> 8
■ Lambda & filter
r = filter(function, iterable)
# filter에 인자로 사용되는 function은 처리되는 각각의 요소에 대해 Boolean 값을 반환합니다.
# True를 반환하면 그 요소는 남게 되고, False 를 반환하면 그 요소는 제거 됩니다.
# 전체 return r은 iterator : data 접근시 형변환 수행해야 접근 가능 ( list(r) dict(r) tuple(r) ...)foo = [2, 18, 9, 22, 17, 24, 8, 12, 27] list( filter(lambda x: x % 3 == 0, foo) ) >>> [18, 9, 24, 12, 27]
■ Lambda & reduce
1) 정의 :
reduce 함수는 functools 로 외부에서 가져와야함
- iterable 순회하며 return값을 Stopiteration 까지 "재 대입"
import functools
functools.reduce(function, iterable[, initializer])
# initializer -> 초기 시작값, iterable 돌 때 초기값
# iterable의 마지막까지 결과값을 function에 재 대입하면서 끝남과 동시에 값을 return 해줌from functools import reduce reduce(lambda x,y: x+y, [1,2,3,4,5]) >>> 15
반응형'파이썬 Study > 라이브러리' 카테고리의 다른 글
list comprehension / (+dict, tuple, set, ...) (1) 2021.03.14 Range / Enumerate / For in loop (1) 2021.03.14 iterable / iterator (1) 2021.03.14 zip (1) 2021.03.14 max / min / sum (1) 2021.03.14