반응형
lambda : 쓰고 버리는 일시적인 함수 / 함수가 생성된 곳에서만 필요
즉, 간단한 기능을 일반적인 함수와 같이 정의해두고 쓰는 것이 아니고, 즉시 사용하고 버릴 수 있다.
람다 함수 사용법
>>> def inc(n):
return lambda x: x + n
>>> f = inc(2)
>>> g = inc(4)
>>> print(f(12))
14
>>> print(g(12))
16
>>> print(inc(2)(12))
14
1. map() : 두개의 인수를 가지는 함수
r = map(function, iterable ...)
- function : 함수 이름
- iterable : 한번에 하나의 멤버를 반환할 수 있는 객체
- map은 리스트의 요소를 각각 처리하므로 lambda의 반환값도 요소여야 한다
>>> a = [1,2,3,4]
>>> b = [17,12,11,10]
>>> list(map(lambda x, y:x+y, a,b))
[18, 14, 14, 14]
2. filter() 함수
r = filter(function, iterable)
- filter에 인자로 사용되는 function 은 처리되는 각 요소에 대해 boolean 값을 반환
- true 반환 : 그 요소만 남고
- false : 그 요소 제거
>>> sort = [2, 18, 9, 22, 17, 24, 8, 12, 27]
>>> list( filter(lambda x: x % 3 == 0, sort) )
[18, 9, 24, 12, 27]
3. reduce() 함수
functools.reduce(function, iterable[, initializer])
- 두 개의 필수 인자 + 하나의 옵션 인자
- function 을 사용해서 itreralble 하나의 값으로 줄인다.
- initializer 사용 시 첫 번째 인자로 추가된다
>>> from functools import reduce
>>> reduce(lambda x,y: x+y, [1,2,3,4,5])
15
반응형
'Language Study > Python' 카테고리의 다른 글
리스트에 map 사용하기 (0) | 2020.01.27 |
---|---|
프린트문 옵션(문자열 형식) (0) | 2020.01.05 |
python " _ " (언더바) 쓰임 (5) | 2020.01.05 |
List & Tuple (0) | 2020.01.05 |
swap (0) | 2020.01.04 |