Python/Tutorial

[Python] 함수(3) - map, filter, reduce

뒷골목프로그래머 2020. 4. 3. 12:16
반응형

본 포스팅은 패스트 캠퍼스의  [온라인] 데이터 사이언스 스쿨을 수강하며 학습한 내용을 정리한 것입니다.

 

데이터 사이언스 스쿨 온라인

대학교재보다 상세한 강의자료, 현직 실무자의 노하우까지 모두 얻어가세요 ! 이미 수많은 비전공자들이 데이터 사이언티스트로 커리어 전환에 성공한 바로 그 강의. 데이터 사이언스 스쿨 오프라인 정규 과정을 이제는 온라인에서 만나보세요!

www.fastcampus.co.kr


1. map

  • 순서가 있는 데이터 집합에서 모든 값에 함수를 적용시킨 결과를 출력함

  • list, tuple의 값을 함수에 적용시킴

  • map(함수, 순서가 있는 데이터 집합) 형태

  • 사용예제

def odd_even(num):
    return "odd" if num % 2 else "even"
    
ls = [1,2,3,4]
map(odd_even, ls) #실행결과 : map의 주소참조
list(map(odd_even, ls)) # list로 형변환해야함, 실행결과 : ['odd', 'even', 'odd', 'even']

 

2. Filter

  • 리스트 데이터에서 특정 조건에 맞는 value만 남기는 함수

  • 사용예제

ls = range(10)

#홀수만 출력하는 함수
list(filter(lambda data: True if data%2 else False,ls))
#실행결과 : [1, 3, 5, 7, 9]

 

3. Reduce

  • 리스트 데이터를 처음부터 순서대로특정 함수를 실행하여 결과를 누적시켜 주는 함수

  • paramerter가 2개가 되어야 하고 결과는 하나여야 한다

  • 사용예제

from functools import reduce
ls=[3,1,2,4,5]
reduce(lambda x, y: x+y, ls)

reduce docstring

 

반응형