반응형
이번에는 파이썬의 내장함수 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 |
댓글