티스토리 뷰

Python

Python, filter()

hwangyoungjae 2016. 4. 21. 20:08
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

리스트내장의 if문으로 필터링 하는 방법과 동일한 기능을 하는 함수

입력받은 시퀸스형객체를 순회하며함수의 결과가 True인 경우만을 묶어 반환

 

filter(<함수 | None> , <이터레이션가능 자료형>

 

첫번째 인자는 필터링할 방법을 제공하는 함수를 사용,

None을 사용시 아무 필터링도 수행하지 않음

>>> L = [10,25,30]

>>> IterL = filter(None,L) #첫번째 인자를 None로 주어 필터링 수행하지 않음

>>> IterL

<filter object at 0x0105AE90>

>>> for i in IterL:

             print(i)

10

25

30

 

20보다 큰경우 True, 그렇지 않은경우 False를 반환하는 함수 생성후 필터에 함수 사용

>>> def Big20(i):

             return i > 20

 

>>> L = [10, 25, 30]

>>> IterL = filter(Big20,L) #필터사용으로 20보다 큰 값만으로 새로운리스트객체 생성

>>> for i in IterL:

             print(i)

25

30

 

간단한 함수 같은경우 lambda함수를 이용하여 간단히 사용가능

>>> IterL = filter(lambda i:i > 20,L)

>>> for i in IterL:

             print(i)

25

30

'Python' 카테고리의 다른 글

Python, map()  (0) 2016.04.21
Python, zip()  (0) 2016.04.21
Python, 리스트내장  (0) 2016.04.21
Python, enumerate()  (0) 2016.04.21
Python, range()  (0) 2016.04.21
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함