[Python] 함수형 프로그래밍
2015. 3. 4. 09:00ㆍProgramming/python
MAP
map(함수, 리스트)
MAP은 함수와 리스트를 인자로 받은 후, 리스트로부터 원소를 하나씩 꺼내서 함수에 적용한 후 그 결과를 새로운 리스트로
리턴한다.
def f(x):
return x*x
x = [1, 2, 3, 4, 5]
y = map(f, x)
두 개 이상의 값을 map 함수에 집어넣을 때에는 아래와 같이 구현하면 된다.
x = [1, 2, 3, 4, 5, 6]
y = [6, 7, 8, 9, 10, 11]
z = map(lambda a, b:a+b, x, y)
FILTER
filter(함수, 리스트)
리스트에 들어있는 원소들을 함수에 적용시켜서 그 결과가 참인 값들을 새로운 리스트로 리턴한다.
filter(lambda x : x%2, [1,2,3,4,5,6])
REDUCE
reduce(함수, 리스트)
리스트에 들어있는 원소들을 함수에 적용시킨 후 그 결과를 리스트의 다음번 원소들과 결합시킴으로써 최종적 결과 값을
리턴한다.
reduce(lambda x, y : x+y, [1, 2, 3, 4, 5] # ((((1+2)+3)+4)+5)