본문 바로가기

파이썬/파이썬 문법

[Python] 내장 함수 : map(), filter()

파이썬에서는 더  편리한 코딩을 위해  내장함수들을  제공한다  오늘은  그 중  map()과  filter()함수에 대해  이야기 해보고자 한다  

 

  1. map()

  

     map()은  여러개의  데이터를   한번에  다른 형태로 변환하기 위해  사용하는 함수이다  다음은 map()의  기본형식이다

 

map(변환하는 함수, 순회데이터)

 

2. filter() 

filter()는  여러개의  데이터중  필요한   데이터만  추출해서 사용 할 수있는 유용한 함수다  다음은 filter()의 기본형식이다.

filter(조건함수 , 순회데이터)

이로써 기본적인  함수의 사용법들을  알아봤다  그냥 이러고 말면  이것들이  어떻게 적용이  되는지 알방법이 없다  간단한 예제로  디테일한 설명을 이어나가겠다. 

ex) [1,-9,-10,-15,-18,-23] 리스트에서   1만 담겨있는 리스트를 출력해라  

1을 제외하고  나머지 데이터가  전부    음수이다  따라서  음수를 뺀 나머지 즉 0보다 큰 양수만   추출하는  코드를 짜면 된다  

여기서는  리스트를 출력하라고 지시했기 때문에  값을 리스트로 변환해주는 list()함수와   조건함수 부분은  lambda()함수를 사용해  해결하도록  하겠다.

>>> list(filter(lambda x : x>0 , [1,-9,-10,-15,-18,-23]))
[1]

필자는  이렇게  코딩을 했다    먼저  리스트로 변환하기 위해  전체 코드를 list()함수로 감싸주었다   그리고  여기서 filter()의 사용법에 대해  이야기 하면  첫번째 인자인 조건함수 부분에   lambda함수와  조건식이 들어가있는것을 알 수 있을 것이다   그리고 두번째 인자에  순회할  데이터인  [1,-9,-10,-15,-18,-23]  해당 리스트를  넣어줬다 이걸로 filter()함수의  간단한 사용법에 대해 이해가 됬을거라 생각한다  filter()함수를 이해했으면 그다음으로 이제는 map()을 설명해보도록 하겠다    map()역시   간단한  예제로  이해해보도록  하겠다. 

ex) [1,3,5,7,8]리스트에  각  데이터에  20을 더해라 

list(map(lambda x : x+20,[1,3,5,7,8]))
[21, 23, 25, 27, 28]

map()은 여러개의 데이터를 한번에 다른 형태로 변환하는 함수라고 이야기 했다  변환하는 조건 함수에  lambda()함수를 이용해  조건식을 써줬고  변환을 할  데이터인  해당 리스트를  두번째 인자에 넣어줬다 . 이것으로 map()과  filter()의 기능에 대해서는 어느정도 이해 할 수 있으리라 생각된다,  혹시 추가적인 공부를 원한다면 

www.daleseo.com/python-filter/

 

파이썬 filter 내장 함수 사용법 (feat. List Comprehension)

Engineering Blog by Dale Seo

www.daleseo.com

www.daleseo.com/python-map/

 

파이썬 map 내장 함수 사용법 (feat. List Comprehension)

Engineering Blog by Dale Seo

www.daleseo.com

이곳을 참고하면 좋을듯 싶다.

'파이썬 > 파이썬 문법' 카테고리의 다른 글

[Python] 내장함수 유용성  (0) 2020.11.14
[Python ] Lamda 함수 사용법  (0) 2020.11.12