반응형
(1) Lambda : 함수 이름 없이, 함수처럼 쓸 수 있는 익명함수
-. 일반적인 함수
1 2 3 | def f(x,y): return x + y print(f(1, 4)) | cs |
Output : 5
-. 람다 함수
1 2 3 4 | f = lambda x, y: x + y print(f(1, 4)) | cs |
Output : 5
(2) Map Function : Sequence 자료형 각 element에 동일한 function을 적용함
-> map(function_name, list_data)
1 2 3 4 5 6 | ex = [1, 2, 3, 4, 5] g = lambda x: x*2 f = lambda x,y: x + y print(list(map(g, ex))) print(list(map(f, ex, ex))) | cs |
Output :
[2, 4, 6, 8, 10]
[2, 4, 6, 8, 10]
(3) Reduce Function : map과 달리 list에 똑같은 함수를 적용해서 통합
1 2 3 4 | from functools import reduce # functools의 reduce함수 import ex = [1, 2, 3, 4, 5] print(reduce(lambda x, y: x+y, ex)) | cs |
Output : 15
** 코드의 직관성이 떨어져서 lambda나 reduce는 python3에서 사용을 권장하지 않음
-> Legacy library나 다양한 머신러닝코드에서는 여전히 사용중
반응형
'Computer Science > Programming-Python' 카테고리의 다른 글
Asterisk (0) | 2019.05.06 |
---|---|
Enumerate & Zip (0) | 2019.05.06 |
[자료구조3#] Dictionary (0) | 2019.05.06 |
[자료구조2#] Tuple (0) | 2019.05.06 |
[자료구조1#] List (0) | 2019.05.06 |
댓글