SW개발/Python

[Python]map, filter 함수

map 내장 함수

파이썬의 내장 함수인 map() 는 여러 개의 데이터를 한 번에 다른 형태로 변환하기 위해서 사용한다. 따라서, 여러 개의 데이터를 담고 있는 list 나 tuple 을 대상으로 주로 사용한다.

 

사용 방법

map(변환 함수, 변환할 데이터)

map() 함수는 두번째 인자로 넘어온 데이터가 담고 있는 모든 데이터에 첫번째 인자의 변환 함수를 적용하여 다른 형태의 데이터를 반환한다.

 

예시

>>> a = map(int, input().split())
10 20 (입력)
>>> a
<map object at 0x03DFB0D0>
>>> list(a)
[10, 20]

위와 같이, map 함수를 적용할 경우 map object로 return 되므로, list() 나 tuple() 을 사용하여 변환 후 사용해 주는 것이 일반적이다.

 

filter 내장 함수

파이썬의 내장 함수인 filter() 는 여러 개의 데이터로부터 일부의 데이터만 추려낼 때 사용한다. 따라서, 여러 개의 데이터를 담고 있는 list sk tuple을 대상으로 주로 사용한다.

 

사용 방법

filter(조건 함수, 추려낼 데이터)

filter() 함수는 두번째 인자로 넘어온 데이터 중에서 첫번째 인자로 넘어온 조건 함수를 만족하는 데이터만을 반환한다.

 

예시

target = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

def is_even(n):
    return True if n % 2 == 0 else False

result = filter(is_even, target)
print(list(result))

결과 : [2, 4, 6, 8, 10]

map() 함수 처럼 filter() 함수 역시 list() 형으로 변환 후 사용해 주는 것이 일반적이다.

728x90

'SW개발 > Python' 카테고리의 다른 글

[Python]if __name__ == "__main__" 란?  (0) 2021.01.20
[Python]모듈이란?  (0) 2021.01.20
[Python]Class 는 왜 필요한가?  (2) 2021.01.19
[Python]split, join 함수  (0) 2020.11.23
[Python]lambda 함수  (0) 2020.11.22