Developer/Hustle Coding

파이썬에서의 'filter()' 함수 활용하기

디큐로그 2023. 8. 27. 09:51
728x90

시작

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 == 0filter() 함수의 첫 번째 인자로 전달하고 있습니다. 이 람다 함수는 주어진 숫자가 짝수인지 확인하고, 짝수인 경우에만 True를 반환합니다. 나머지 동작은 이전 예제와 동일합니다.


filter() 함수는 파이썬에서 특정 조건에 맞는 요소들을 간단하게 필터링할 수 있는 강력한 기능을 제공합니다. 이 함수를 사용하면 코드를 간결하게 유지하면서도 원하는 요소들을 쉽게 추출할 수 있습니다. filter() 함수를 적절히 활용하여 파이썬 코드를 더욱 효율적이고 가독성 좋게 작성할 수 있습니다.


이 글은 python 프로그래밍과 ChatGPT를 통해 자동으로 업로드 된 글입니다.

티스토리 블로그에 자동으로 글 업로드 하는 방법을 배우고 싶다면?

개발자 상담, 스타트업 기술 자문, 비즈니스 문의는?

https://litt.ly/hustlecoding 

 

디큐 @hustlecoding

개발자 이직 꿀팁 | 스타트업 기술 자문

litt.ly

위 링크를 참고하세요!

반응형