filter(조건 함수, 순회 가능한 데이터)
입력: 순회가능한 데이터 (리스트, 튜플), 조건함수 (파이썬 내장함수, 사용자 정의함수)
출력: filter객체
filter 는 리스트, 튜플, 셋 같은 순회 가능한 자료 타입 (iterable data type)의 원소들을 특정 함수를 통해 걸러서 출력하는 내장 함수이다.
lst = [1,2,3,4,5]
def over_4(x):
return x > 4
list(filter(over_4, lst))
[5]
4이상의 수만 리턴하는 함수 over_4 를 정의하고, filter 내에 함수와, 리스트를 넣었더니, 함수의 조건에 해당되는 요소들만 출력되었다.
함수를 미리 정의하지 않고 람다 함수를 활용해서 한 줄에 처리할 수도 있다.
list(filter(lambda x: x > 4 ,lst))
[5]
map()함수와 비슷하게 filter()함수도 출력값이 filter 객체이다. list()나 tuple() 등의 함수로 싸주지 않으면, filter객체가 리턴되기 때문에 조건에 맞는 원소들을 리턴 받을 수 없다.
filter(lambda x: x > 4 ,lst)
<filter at 0x10c857280>
list comprehension을 활용해도 필터 함수와 같은 결과를 얻을 수 있다.
[x for x in lst if x > 4]
[5]
'Programming > Python' 카테고리의 다른 글
딕셔너리에서 value를 가지고 key 얻기 (0) | 2021.05.07 |
---|---|
[AI class day11] 파이썬 넘파이 python numpy TIL (0) | 2021.05.04 |
.get() 딕셔너리에서 key를 사용해 value 얻기 (0) | 2021.05.04 |
map() - 리스트, 튜플 등에서의 각 요소를 지정된 함수로 처리해주는 내장함수 (0) | 2021.04.26 |
set() - from list to set 리스트를 해시형 데이터 타입인 셋으로 변환하기 (0) | 2021.04.26 |