반응형
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 |
댓글