본문 바로가기
Studying/Python

[Python] 내장함수 filter 구현

by giem 2022. 5. 18.
반응형

이번에는 파이썬의 내장함수 filter에 대해 알아보겠다.

 

filter는 함수와 iterable인자를 받는다

 

여기서 함수가 None이면 항등 함수가 default다.

 

결국 filter는 함수가 참을 return하는 iterable들만 반환하는 기능이다.

 

말로는 이해가 어려울 수 있으니 예를 들어보겠다.

 

test = [1, 7, 5, 2, 9, 11]

print(list(filter(lambda x: x > 5, test)))
#[7,9,11]

이렇게 test의 element인 x 중 5보다 큰 값만 반환하는 기능이다.

 

그럼 구현을 해보겠다.

 

function에 iterable의 원소를 넣고 True라면 배열에 추가하여 마지막에 배열을 리턴하면 된다.

 

def my_filter(function, iterable):
  res=[]
  for i in iterable:
    if(function(i)==True):
      res.append(i)
  return res

파이썬이기에 간단히 구현될 수 있다.

 

그럼 테스트 해보겠다.

 

test = [1, 7, 5, 2, 9, 11]

assert list(my_filter(test_function, test)) == list(filter(lambda x: x > 5, test))

 

잘 구현된 것을 확인 할 수 있다.

반응형

'Studying > Python' 카테고리의 다른 글

[Python] 내장함수 sum 구현  (0) 2022.05.19
[Python] 내장함수 map 구현  (0) 2022.05.19
[Python] 내장함수 reversed 구현  (0) 2022.05.18
[Python] 내장함수 range 구현  (0) 2022.05.18
[Python] 내장함수 max, min 구현  (0) 2022.05.16

댓글