더북(TheBook)

하지만 이 방식은 람다가 일반적으로 사용되는 것과는 사뭇 다르다. 반면 reduce 함수와 함께 사용될 때 비로소 빛을 발한다. 예를 들어 다음 코드는 1부터 5까지 더한 값을 구하는 방법이다.

t5 = functools.reduce(lambda x, y: x + y, [1,2,3,4,5])

다음 코드는 1부터 5까지 값을 모두 곱하는 방법이다.

f5 = functools.reduce(lambda x, y: x * y, [1,2,3,4,5])

프로그램은 런타임 시 동적으로 데이터를 생성하며, 다시 참조하고 싶으면 변수에 대입한다. 함수(콜러블)도 똑같다. 런타임 시 생성되며 다시 참조하고 싶으면 변수에 대입한다. 아니면 앞서 살펴본 예시와 같이 익명으로 사용할 수도 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.