320x100
# 자료형의 특정 조건 값만 추출해내는 함수 (filter)
파이썬 내장함수인 filter()는 리스트와 같은 자료형에서
특정 조건을 만족하는 값만 편리하게 추출할 수 있는 방법을 제공한다.
filter()의 첫번째 인자는 특정 조건의 값을 추출하는 함수가 입력되며,
두번째 인자(입력매개변수)에는 리스트와 같은 자료형이 입력된다.
예제 : 숫자가 나열되어 있는 리스트에서 짝수만 추출해내는 코드
a=[1,2,3,4,5,6,7,8,9,10]
1. 숫자를 입력하면 짝수라면 결과를 출력하고 홀수면 출력하지 않는 함수
1 2 3 4 5 6 7 8 | def get_even(num): if num%2==0: return num else: return print(get_even(2)) print(get_even(5)) |
2. filter 함수와 get_even 함수를 이용해서 a 리스트에서 짝수를 추출하기
1 2 3 4 5 6 7 8 9 | def get_even(num): if num%2==0: return num else: return a=[1,2,3,4,5,6,7,8,9,10] result=filter(get_even,a) print(result) |
해주면 내가 원하는 리스트가 아니라 객체의 위치?가 출력 되어버린다(!)
1 2 3 4 5 6 7 8 9 10 | def get_even(num): if num%2==0: return num else: return a=[1,2,3,4,5,6,7,8,9,10] result=filter(get_even,a) print(result) print(list(result)) |
당황하지 말고, list()로 감싸서 리스트로 변환시켜주면 다음과 같이 리스트로 출력된다.
예제 : 리스트에서 값이 300 이상만 출력하는 코드
1 2 3 4 5 6 7 8 9 | def up_300(num): if num>=300: return num else: return b=[100,352,56,395,210,791] result=filter(up_300,b) print(list(result)) |
반응형
'나 취준생 > 파이썬' 카테고리의 다른 글
Pandas 파생변수, 오름차순 내림차순 정렬 (0) | 2020.12.07 |
---|---|
Pandas 데이터 유형 변환(Apply), 결측치 확인(Isnull) (0) | 2020.12.07 |
오라클 그룹 함수를 Pandas로 (0) | 2020.12.04 |
Pandas 조인, 서브 쿼리, 그룹 함수의 비교 (0) | 2020.12.04 |
파이썬 오류 처리 ( try~except, else, finally, exception as e, 특정 예외) (0) | 2020.12.03 |