Developer/Hustle Coding

파이썬의 filter() 함수: 조건에 따라 이터러블을 필터링하는 최적의 도구

디큐로그 2023. 9. 15. 09:49
728x90

시작

filter() 함수는 파이썬에서 이터러블을 필터링하는 데 사용되는 매우 유용한 함수입니다. 이 함수를 사용하면 주어진 조건에 따라 이터러블의 요소를 선택적으로 유지하거나 제거할 수 있습니다. 이 기사에서는 filter() 함수의 사용법과 그 활용에 대해 자세히 알아보겠습니다.

1. 기본적인 사용법

filter() 함수는 두 개의 인자를 받습니다. 첫 번째 인자는 조건을 검사하는 함수이고, 두 번째 인자는 필터링할 이터러블입니다. 첫 번째 인자를 통해 전달된 함수는 True 또는 False를 반환하는 조건식으로 작성되어야 합니다. filter() 함수는 조건식이 True를 반환하는 요소만 유지하고, 나머지 요소는 제거한 새로운 이터러블을 반환합니다.

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 짝수만 유지하고 홀수는 제거
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # [2, 4, 6, 8, 10]

위의 예제에서는 numbers 리스트에서 짝수만 필터링하여 even_numbers 리스트에 저장합니다. filter() 함수의 첫 번째 인자로는 lambda 함수를 사용하여 간단한 조건식을 작성했습니다. 람다 함수는 주어진 숫자가 2로 나누어 떨어지는지 확인하고, 나머지가 0이면 True를 반환합니다.

2. None 함수 사용하기

filter() 함수의 첫 번째 인자로는 None을 사용할 수도 있습니다. 이 경우, filter() 함수는 이터러블에서 값이 True로 평가되는 요소만 반환합니다.

names = ['Alice', '', 'Bob', '', 'Charlie']

# 값이 True로 평가되는 요소만 유지
valid_names = list(filter(None, names))
print(valid_names)  # ['Alice', 'Bob', 'Charlie']

위의 예제에서는 names 리스트에서 빈 문자열을 제거하고 유효한 이름만 유지하는 방법을 보여줍니다. filter() 함수의 첫 번째 인자로 None을 전달하면 빈 문자열은 False로 평가되므로 제거됩니다.


filter() 함수는 파이썬에서 이터러블을 필터링하는 가장 간단하고 효율적인 방법 중 하나입니다. 이 함수를 사용하면 조건에 따라 이터러블의 요소를 선택적으로 유지하거나 제거할 수 있습니다. filter() 함수는 람다 함수나 None을 사용하여 다양한 조건을 적용할 수 있으며, 새로운 필터링된 이터러블을 반환합니다.

filter() 함수는 코드를 간결하게 유지하고 가독성을 높이는 데 도움이 됩니다. 이 함수를 사용하여 데이터를 필터링하고 원하는 요소만 추출하는 방법을 익히면 파이썬에서 작업을 더욱 효율적으로 수행할 수 있습니다.


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

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

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

https://litt.ly/hustlecoding 

 

디큐 @hustlecoding

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

litt.ly

위 링크를 참고하세요!

반응형