[python] 조건문에서의 reduce 함수 사용하기

파이썬에서 reduce 함수는 여러 값을 한 값으로 줄이는 데 사용됩니다. 이를 조건문과 함께 사용하면 코드를 간결하고 가독성 있게 작성할 수 있습니다.

reduce 함수 소개

reduce 함수는 functools 모듈에서 제공됩니다. 주로 시퀀스에 있는 요소를 더하거나 최댓값/최솟값을 찾는 등의 작업에 활용됩니다.

from functools import reduce

# 예시: 리스트의 모든 요소를 합치는 reduce 함수 사용
total = reduce(lambda x, y: x + y, [1, 2, 3, 4, 5])
print(total)  # 출력: 15

조건문에서의 reduce 함수 사용

조건문에서 reduce 함수를 사용하여 리스트의 값을 조건에 따라 필터링하거나 처리할 수 있습니다.

다음은 리스트에서 짝수만 추출하여 더하는 예시입니다.

from functools import reduce

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

even_sum = reduce(lambda x, y: x + (y if y % 2 == 0 else 0), numbers, 0)

print(even_sum)  # 출력: 30

위 코드에서 reduce 함수의 세 번째 매개변수는 초기값으로, 여기서는 누산기(variable)로 사용되며, 초기값은 0으로 지정되었습니다. lambda 함수를 통해 리스트의 값 중 짝수일 경우에만 더해지도록 로직을 작성하였습니다.

이를 통해 reduce 함수를 사용하여 조건문에 따라 리스트의 값을 조작하는 방법을 살펴보았습니다. 복잡한 조건문을 간결하게 작성할 때 유용한 기능이므로, 적절한 상황에서 적극 활용할 수 있을 것입니다.

요약

이상으로 파이썬의 reduce 함수를 조건문과 함께 활용하는 방법에 대해 알아보았습니다. reduce 함수는 코드를 간결하게 작성하고 여러 값을 쉽게 처리하는 데에 유용한 도구입니다.

References: