Skip to content

Instantly share code, notes, and snippets.

@nattybear
Last active November 16, 2020 13:34
Show Gist options
  • Save nattybear/9ffa701a6220b4fff27ad7a77d0c9774 to your computer and use it in GitHub Desktop.
Save nattybear/9ffa701a6220b4fff27ad7a77d0c9774 to your computer and use it in GitHub Desktop.
파이썬 filter 함수

filter

파이썬에는 filter라는 내장 함수가 있습니다.

함수 filter는 첫번째 인자로 함수를 받고 두번째 인자로는 리스트와 비슷한 것들을 받습니다.

아래와 같이 사용합니다.

def is_even(n):
    return n % 2 == 0
    
numbers = (1, 2, 3, 4)
even_numbers = filter(is_even, numbers)

print(tuple(even_numbers))  # (2, 4)

filter 함수를 직접 구현해본다면 아래와 비슷할 것 같습니다.

def my_filter(f, xs):
    for x in xs:
        if f(x):
            yield x

만약 yield가 생소하신 분이라면 아래와 같이 생각하셔도 됩니다.

def my_filter(f, xs):
    temp = []
    for x in xs:
        if f(x):
            temp.append(x)
    return temp

위와 같이 함수 filter는 두번째 인자로 받은 리스트의 원소들을 첫번째 인자로 받은 함수에 차례대로 넣어보고 그 결과가 참인 것만 골라주는 편리한 함수입니다.

대문 링크

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment