본문 바로가기
Python

[Python] Reduce

by 잭피 2021. 12. 22.
반응형

Reduce

“반복 가능한 객체” 내 각 요소를 연산한 뒤 이전 연산 결과들과 누적해서 반환해 주는 함수이다

대표적으로 String, List, Dictionary, Set이 반복 가능한 객체이다

 

💡 Python3 부터는 reduce가 내장 함수가 아니기 때문에 functools 모듈에서 불러와야함

 

from functools import reduce
from functools import reduce
from collections import Counter

# 1~20까지 정수의 합을 구하는 코드
target = list(range(1,21))
reduce(lambda x,y : x+y, target))

# (a+1)(b+1)(c+1) - 1 
# = (a+b+c)+(ab+bc+ca)+abc
target = ['a', 'a','b','c']
target_counter = Counter(target)
# Counter({'a': 2, 'b': 1, 'c': 1})
print(target_counter.values())
# [2,1,1]
reduce(lambda x,y : x*(y+1), target_counter.values(), 1) -1
# reduce -> (수식), (타겟), (초기값)
# 11 

반응형

'Python' 카테고리의 다른 글

[Python] all(), any() - (파이썬 내장함수)  (0) 2021.12.22
[Python] 정렬(sort) - sort(), sorted()  (0) 2021.12.22
[Python] zip  (0) 2021.12.22
[Python] Counter  (0) 2021.12.22
[Python] 파이썬 - 설치(Windows)  (0) 2021.02.06

댓글