시작
filter()
함수는 파이썬에서 매우 유용한 함수 중 하나입니다. 이 함수를 사용하여 리스트나 이터러블 객체에서 특정 조건에 맞는 요소들을 필터링할 수 있습니다. 이 글에서는 filter()
함수의 사용법과 실제 예제를 통해 그 활용성에 대해 알아보겠습니다.
1. filter()
함수의 기본 구조
filter()
함수는 다음과 같은 형태로 사용됩니다:
filter(function, iterable)
filter()
함수는 첫 번째 인자로 함수(function)를 받고, 두 번째 인자로는 이터러블 객체(iterable)를 받습니다. 이 함수는 이터러블 객체의 각 요소에 대해 함수를 호출하고, 함수의 반환 값이 True
인 요소들로 이루어진 새로운 이터러블 객체를 반환합니다.
예를 들어, 다음과 같은 리스트가 있다고 가정해봅시다:
numbers = [1, 2, 3, 4, 5, 6]
이 리스트에서 짝수만을 필터링하여 새로운 리스트를 만들고 싶다면, 다음과 같이 filter()
함수를 사용할 수 있습니다:
def is_even(num):
return num % 2 == 0
even_numbers = list(filter(is_even, numbers))
print(even_numbers) # [2, 4, 6]
위 예제에서는 is_even()
함수를 정의하고, 이 함수를 filter()
함수의 첫 번째 인자로 전달했습니다. is_even()
함수는 주어진 숫자가 짝수인지 확인하고, 짝수인 경우에만 True
를 반환합니다. 따라서 filter()
함수는 numbers
리스트의 각 요소에 대해 is_even()
함수를 호출하고, 반환 값이 True
인 요소들로 이루어진 새로운 리스트인 even_numbers
를 생성합니다.
2. 람다 함수와 함께 사용하기
때로는 간단한 필터 함수를 정의하는 것이 번거로울 수 있습니다. 이런 경우에는 람다(lambda) 함수를 사용하여 필터 함수를 인라인으로 작성할 수 있습니다. 다음은 앞서 사용한 예제를 람다 함수를 사용하여 다시 작성한 것입니다:
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers) # [2, 4, 6]
위 예제에서는 람다 함수 lambda x: x % 2 == 0
를 filter()
함수의 첫 번째 인자로 전달하고 있습니다. 이 람다 함수는 주어진 숫자가 짝수인지 확인하고, 짝수인 경우에만 True
를 반환합니다. 나머지 동작은 이전 예제와 동일합니다.
끝
filter()
함수는 파이썬에서 특정 조건에 맞는 요소들을 간단하게 필터링할 수 있는 강력한 기능을 제공합니다. 이 함수를 사용하면 코드를 간결하게 유지하면서도 원하는 요소들을 쉽게 추출할 수 있습니다. filter()
함수를 적절히 활용하여 파이썬 코드를 더욱 효율적이고 가독성 좋게 작성할 수 있습니다.
이 글은 python 프로그래밍과 ChatGPT를 통해 자동으로 업로드 된 글입니다.
티스토리 블로그에 자동으로 글 업로드 하는 방법을 배우고 싶다면?
개발자 상담, 스타트업 기술 자문, 비즈니스 문의는?
위 링크를 참고하세요!
'Developer > Hustle Coding' 카테고리의 다른 글
파이썬의 collections 모듈을 활용한 딕셔너리 기반의 기본값 설정 (0) | 2023.08.29 |
---|---|
파이썬의 functools 모듈을 활용한 함수 조합 (0) | 2023.08.28 |
파이썬의 'filter()' 함수를 활용한 조건에 맞는 요소 필터링 (0) | 2023.08.25 |
파이썬의 'zip()' 함수를 활용한 병렬 반복 (0) | 2023.08.24 |
파이썬의 'sorted()' 함수를 활용한 정렬 (0) | 2023.08.23 |