Python공부

Python - map(), filter(), reduce(), lambda 사용법

SoSweetStrawberry 2022. 8. 22. 19:40
반응형
#함수형 프로그래밍

map() : 컬렉션 원소에 대해 특정 계산을 적용함
filter() : 컬렉션 원소에 대해 특정 원소만 필터링하여 새 집합 생성
reduce() : 컬렉션 원소에 대해 계산을 수행하여 한개의 스칼라 값을 생성
lambda : 위의 함수에서 사용하는 첫번째 아규먼트인 함수(익명함수)

< map() 특정 행동을 적용 후 return >

nums = [1,2,3,4,5]

def add(x): return x+1

map_obj = map(add, nums) #(함수, 파라미터)   #비파괴형

list(map_obj)
[2, 3, 4, 5, 6]

 

< filter() 특정 조건함수로 필터링 한 후 return >

nums = [1,2,3,4,5]

def odd(x): return x%2==1  # x%2==1 True인 것만   #비파괴형

list(filter(odd, nums)) #filter(기준->함수, 필터링 할 데이터)
[1, 3, 5]

 

< reduce 특정 계산으로 하나의 값으로 return >

from functools import reduce

nums = [1,2,3,4,5]
def sub(x,y): return x+y

reduce(sub, nums)
15

< Lambda 익명 함수 >

#Lambda

nums = [1,2,3,4,5]
map_obj = map(lambda x : x+1,nums) #(함수 정의,파라미타)  # lambda x : return문

list(map_obj)
[2, 3, 4, 5, 6]
반응형