Python 강좌 : 제 22강 - 필터 함수
필터(filter) 함수
필터(filter)
함수는 반복 가능한 데이터(목록, 사전 등)의 요소에서 특정 조건을 만족하는 값들만 추출합니다.
필터 함수는 결괏값 = filter(조건 함수, 범위)
의 형태로 사용합니다.
조건 함수
는 논리값(True or False)
을 반환하는 함수를 사용하며, 참(True)
이 되는 값만 반환합니다.
lambda
함수와 list
함수 등을 같이 사용하여 결과를 반환합니다.
함수 생성
- 결과
- [1, 2, 3, 4]
filter(함수, 범위)
를 사용하여 참(True)
의 결과를 반환합니다.
범위
의 값을 함수
에 대입해 참이 되는 값만을 묶어 반환홥니다.
list()
또는 set()
등의 구문을 추가하지 않으면 <filter object at 0x05B3A830>
등의 iterator
형태로 출력됩니다.
사용자 정의 함수 사용
- 결과
- [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4]
필터 함수에서 사용되는 함수
는 논리값을 반환하는 함수로 인지합니다.
그러므로, 반환값이 0
이 아닌 모든 값은 참(True) 값으로 간주하게 됩니다.
결국, 어떤 반환 형태도 0을 반환하지 않으므로 모두다 참 값이 되어, 범위
를 그대로 반환하게 됩니다.
- 결과
- [-4, -2, 0, 2, 3, 4]
사용자 정의 함수를 이용한다면, 복잡한 형태의 필터 함수를 쉽게 구현할 수 있습니다.
반환값이 참
인 경우에만 해당 값을 반환하므로, 특정한 형태의 데이터만 추출할 수 있습니다.
- Tip : 반환값이 없는 경우,
거짓(False)
값으로 간주해 필터 함수에서 값이 반환되지 않습니다.
댓글 남기기