Programming/Python

함수적 프로그래밍 - filter 내장 함수

scii 2013. 4. 28. 18:23


filter 내장 함수는 주어진 시퀀스 자료 중에서 아이템들을 필터링하여 참인 요소만 모아 출력한다.

두 개의 인수를 가지며 첫 인수는 (map 함수와 같이) 함수이고, 두 번째 인수는 시퀀스 자료형이다.


ex) 2보다 큰 값 리턴, 홀수만 리턴, 짝수만 리턴


조건식이 복잡하다면 별도의 함수를 만들어야 할 것이다. 하지만 이러한 전통적인 방식의 코딩보다는 filter 함수를 사용함으로써 얻어지는 간결함과 이해도의 증가는 코딩을 하는 데 많은 이익을 준다.


filter 함수의 또 다른 이득은 여러 자료형에 대해서 같은 자료형의 결과를 넘겨준다는 것이다.



또 다른 유용한 활용 예는 다음과 같이 리스트에서 별 의미 없는 값을 삭제하는 것이다.


filter의 첫 인수로 None을 사용하면 입력 값을 진리 값을 판별하는 데 그대로 사용한다.