쿼카러버의 기술 블로그
[Python Advanced] filter 함수란? (쉬운 설명 & 다양한 예시) 본문
Filter
filter()는 파이썬의 내장 함수로, 여러 개의 데이터에서 특정 조건으로 일부의 데이터를 추려낼 때 사용한다.
특징
기본적인 사용방법은 아래와 같다.
filter(function, iterator)
iterator
에 들어온 값들을 하나하나function
에 넣어서결과가 참인지, 거짓인지에 따라 해당 요소를 포함할지 말지를 결정한다.
사용 예시
1) letter라는 리스트 내에서 vowel만을 걸러내고 싶을 때
letters = ['a', 'b', 'd', 'e', 'i', 'j', 'o']
# a function that returns True if letter is vowel
def filter_vowels(letter):
vowels = ['a', 'e', 'i', 'o', 'u']
return True if letter in vowels else False
filtered_vowels = filter(filter_vowels, letters)
# converting to tuple
vowels = tuple(filtered_vowels)
print(vowels)
2) None이 아닌 element만 걸러내고 싶을 때
# random list
random_list = [1, 'a', 0, False, True, '0']
filtered_iterator = filter(None, random_list)
#converting to list
filtered_list = list(filtered_iterator)
print(filtered_list)
일반적으로 파이썬에서는 None이 아닌 값을 boolean으로 변환하면 True를 리턴한다. 이를 활용해서 filtering할 수 있다.
3) lambda함수를 사용할 때
target = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
result = filter(lambda x : x%2==0, target)
print(list(result))
함수를 재사용할 이유가 없다면, 보다 간결하게 lambda
를 활용해서 축약된 코드를 쓸 수 있다.
lambda에 대한 설명과 다양한 활용 예시가 궁금하다면 아래 글을 참고하길 바란다!
https://etloveguitar.tistory.com/97
추가로, 파이썬의 다른 내장함수들에 대한 글을 정리해두었는데, 필요하다면 참고하길 바란다.
[Python Advanced] map함수란? (쉬운 설명 & 다양한 예시)
[Python Advanced] reduce 함수란? (쉬운 설명 & 다양한 예시)
참고자료
https://www.programiz.com/python-programming/methods/built-in/filter
'[Python]' 카테고리의 다른 글
[Python Advanced] lambda 함수란? (쉬운 설명 & 다양한 예시)(map, filter, reduce) (0) | 2022.02.05 |
---|---|
[Python Advanced] reduce 함수란? (쉬운 설명 & 다양한 예시) (0) | 2022.02.05 |
[Python Advanced] map함수란? (쉬운 설명 & 다양한 예시) (0) | 2022.02.05 |
[Flask] context-local 구현체 살펴보기 (flask application context, request context) (0) | 2022.01.31 |
[Flask] Flask의 Request처리 방법과 Context 개념 심층 정리 (0) | 2022.01.31 |
Comments