프로그래밍/Python
[Python] functools의 reduce함수
코딩하는 문과생
2019. 11. 18. 21:54
def reduce(function, iterable, initializer=None):
reduce함수의 매개변수에는 첫번째로는 실행할 함수,
두번째는 실행할 함수에 입력될 값들,
세번째는 초기값이 들어간다. 단, 세번째 값은 선택이다.
이름이 없는 함수(익명함수)에 for문을 사용해 여러 값을 입력해야할 때 사용된다.
reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])
# 15
# ((((1 + 2) +3) +4) +5)
reduce(lambda x, y: x+y, [1, 2, 3, 4, 5], 10)
# 25
# (((((10 + 1) + 2) + 3) + 4) + 5)
위와 아래 모두 값은 결과값을 가진다.
print( reduce(lambda x, y: x+y, [1, 2, 3, 4, 5], 10) )
# 25
-----------------------------------------------
def sum(a, b):
return a + b
s=10
num=[1, 2, 3, 4, 5]
for i in num:
s = sum(s, i)
print(s)
#25