본문 바로가기

Study/FastCampus

[python] Map(), Filter(), reduce()

728x90
반응형

○ map() : 반복가능한 iterable 객체를 받아서, 각 요소에 함수를 적용해 주는 함수

map() docstring

○ filter() : 특정 조건으로 걸러서 걸러진 요소들로 iterator 객체를 만들어서 리턴해주는 함수

filter() docstring

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

    → "from functools import reduce" 해야 사용이 가능하다.

reduce docstring


[ Map()와 Filter() 작동원리 ]

 

 

def odd_even(num):
    return "odd" if num % 2 else "even"

ls = [1,2,3,4,5]
print(list(map(odd_even, ls)))

# 출력결과
['odd', 'even', 'odd', 'even', 'odd']

 

def odd_even2(num):
    return True if num % 2 else False

ls = [1,2,3,4,5]
print(list(filter(odd_even2, ls)))

# 출력결과
[1,3,5]

 


 

[ reduce() 작동원리 ]

 

from functools import reduce

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

print(reduce(lambda x, y: x+y, ls))

# 출력결과
15
728x90
반응형