본문 바로가기
카테고리 없음

파이썬 filter() 내장함수 사용법 정리 (개발 기초)

by python pro 2023. 2. 10.
반응형

filter() 함수는 입력받은 시퀀스(리스트, 튜플, 딕셔너리 등)에서 특정 조건에 만족하는 값을 추출하는 함수입니다. 이 함수는 파이썬의 내장 함수 중 하나로서 필터링 기능을 가지고 있습니다.

 

사용 방법은 다음과 같습니다.

filter(function, iterable)
  • function: 필터링하고자 하는 조건을 검사하는 함수
  • iterable: 필터링 대상이 되는 시퀀스 객체 (리스트, 튜플, 딕셔너리 등)

function 함수는 입력된 값을 검사하여 True 혹은 False를 반환합니다. True인 값만 필터링되어 반환됩니다.

 

예시 코드

# 홀수 필터링
def is_odd(num):
    return num % 2 == 1

numbers = [1, 2, 3, 4, 5]
result = filter(is_odd, numbers)
print(list(result))  # [1, 3, 5]

위 예제에서, numbers 리스트에서 홀수만 필터링하여 result 리스트에 저장합니다.

 

filter() 함수는 리스트 내의 요소를 걸러낼 때 list comprehension 혹은 generator expression으로 대체할 수 있습니다.

# filter()함수로 구현
result = list(filter(lambda x: x > 5, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]))
print(result) # [6, 7, 8, 9, 10]

# list comprehension으로 구현
result = [x for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] if x > 5]
print(result) # [6, 7, 8, 9, 10]

# generator expression으로 구현
result = (x for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] if x > 5)
print(list(result)) # [6, 7, 8, 9, 10]

 

filter에 비해 list_comprehension 방식이 더 빠른 것으로 알려져 있는데요. 하지만, 더 복잡한 조건이 있을 경우에는 filter() 함수를 사용하는 것이 좋을 수 있습니다. 

 

 

 

반응형

댓글