filter 함수
filter 함수는 조건에 맞는 원소만을 선택하여 필터링하는 기능을 제공합니다.
이번 블로그에서는 파이썬 filter 함수에 대해 상세히 알아보고,
사용 예시를 통해 실제로 어떻게 활용할 수 있는지 살펴보겠습니다.
1. filter 함수란?
filter 함수는 주어진 iterable(반복 가능한 객체)에서 조건에 맞는 원소들만을 선택하여 반환해주는 함수입니다.
선택된 원소들은 새로운 iterable로 반환되며, 원래 iterable의 순서와 동일합니다.
filter 함수는 다음과 같은 구문으로 작성됩니다.
filter(function, iterable)
- `function`
- 조건을 판별하는 함수로, 해당 함수가 `True`를 반환하는 원소들이 선택됩니다.
- `iterable`
- 조건을 검사할 `iterable`입니다.
2. filter 함수의 동작 방식
filter 함수는 주어진 iterable의 각 원소에 대해 조건 함수를 적용하여 결과가 `True`인 원소만 선택합니다.
이 선택된 원소들로 이루어진 새로운 iterable이 반환됩니다.
즉, filter 함수는 원소를 걸러내는 역할을 수행합니다.
3.filter 함수의 장점
filter 함수는 다음과 같은 장점을 가지고 있습니다.
- 간결하고 효율적인 코드 작성
- filter 함수를 사용하면 반복문과 조건문을 직접 작성하지 않아도 되므로 코드가 더 간결해집니다.
- 함수형 프로그래밍 지원
- filter 함수는 함수형 프로그래밍 스타일을 지원하며, 함수를 인자로 받아 처리합니다.
- 이는 함수의 재사용성과 모듈화를 높여줍니다.
3. filter 함수의 사용 예시
filter 함수는 다양한 상황에서 유용하게 사용될 수 있습니다.
몇 가지 예시를 살펴보겠습니다.
- 짝수 필터링
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
위 예시에서는 filter 함수와 람다 표현식을 사용하여 리스트의 원소 중 짝수만을 선택합니다.
- 길이가 5이상인 문자열 필터링
names = ['Alice', 'Bob', 'Charlie', 'Dave']
long_names = list(filter(lambda x: len(x) >= 5, names))
위 예시에서는 filter 함수와 람다 표현식을 사용하여 리스트의 원소 중 길이가 5 이상인 문자열만을 선택합니다.
- 공백 문자열 제거
strings = ['', 'Hello', '', 'World', '']
non_empty_strings = list(filter(lambda x: x != '', strings))
위 예시에서는 filter 함수와 람다 표현식을 사용하여 리스트에서 공백 문자열을 제거합니다.
filter 함수는 조건에 맞는 원소들만을 선택하여 필터링하는 기능을 제공하며, 코드의 간결성과 효율성을 높여줍니다.
잘못된 정보는 댓글로 알려주시면 감사하겠습니다.
'Python' 카테고리의 다른 글
Python - 19. 파이썬 객체 지향 프로그래밍(OOP : Object-Oriented Programing) (0) | 2023.07.21 |
---|---|
Python - 18. 파이썬의 map함수 (0) | 2023.07.20 |
Python - 16. 파이썬의 람다 표현식(Lambda expression) (0) | 2023.07.18 |
Python - 15. 파이썬 내부 함수(Inner function) (0) | 2023.07.17 |
Python - 14. 파이썬의 1급 객체(First-Class Object) (0) | 2023.07.16 |