본문 바로가기
Computer Science/Programming-Python

Lambda & MapReduce

by M-life 2019. 5. 6.
반응형

(1) Lambda : 함수 이름 없이, 함수처럼 쓸 수 있는 익명함수


 -. 일반적인 함수

1
2
3
def f(x,y):
    return x + y
print(f(14))
cs

Output : 5

 -. 람다 함수 

1
2
3
4
= lambda x, y: x + y
 
print(f(14))
 
cs

Output : 5



(2) Map Function : Sequence 자료형 각 element에 동일한 function을 적용함

  -> map(function_name, list_data)


1
2
3
4
5
6
ex = [12345]
= lambda x: x*2
= 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 = [12345]
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

댓글