0. Introduction
- [TIL] Python basic 31: First-class에서 학습한 고위 함수(High-Order Function)의 대표적인 예인 map, filter, reduce function에 대해 집중적으로 학습하기 위해 작성한다.
- 그래서 고위 함수(High-Order Function)란 무엇인지 간단히 알아보고, 각 fuction에 대해 기존에 했던 예제에 추가하여 더 알아보자.
High - Order Function (고위 함수)란??
- 함수들 중 인수로 전달 가능하고, 결과값으로서 반환 가능한 함수
- 일급 함수(first - class)의 특징이기도 한다.
이번 예에서 lambda function을 사용할 것이다.
- [TIL] Python basic 12: Method 에서 학습했으므로, 이를 참조한다.
1. Map
map(func, iterable)
- iterable에 있는 모든 요소에 지정한 function을 적용하여 결과를 iterator로 반환한다.
- return 된 객체는 map oject 다.
map의 인자로 넘어가는 function은 3가지 방식으로 구현해본다.
- lambda (Ex1-1)
- def (Ex1-2)
- closure (Ex1-3)
|
|
2. Filter
filter(func, iterable)
- iterable 중에서 function 조건에 True인 요소만 뽑아 새로운 시퀀스형으로 만드는 함수
- return된 객체는 filter object 다.
filter의 인자로 넘어가는 function은 2가지 방식으로 구현해본다.
- lambda (Ex1-1)
- closure (Ex1-3)
|
|
3. Reduce
reduce(func, iterable)
- iterable의 요소를 왼쪽부터 오른쪽 방향으로 함수를 적용하여 하나의 값으로 합친다.
reduce는 built-in fuction이 아니기 때문에, 별도로 import를 해야 한다.
- from functools import reduce
reduce의 인자로 넘어가는 function은 2가지 방식으로 구현해본다.
- lambda (Ex1-1)
- closure (Ex1-3)
|
|