[파이썬][리스트] 리스트와 함수형 프로그래밍 개념과 예제

리스트와 함수형 프로그래밍은 프로그래밍 패러다임 중 하나로, 데이터와 함수를 조작하는 방식을 강조합니다. 함수형 프로그래밍은 부작용(side effect)을 최소화하려는 목표를 가지며, 순수 함수(pure function)를 중심으로 코드를 작성합니다. 아래 예제를 통해 리스트와 함수형 프로그래밍 개념을 살펴보겠습니다.

예제 1: 리스트 변환

# 숫자 리스트에서 짝수를 제곱하여 새 리스트 생성
numbers = [1, 2, 3, 4, 5, 6]
squared_evens = list(map(lambda x: x**2, filter(lambda x: x % 2 == 0, numbers)))
print(squared_evens)  # 출력: [4, 16, 36]

위의 예제에서 map()filter() 함수를 사용하여 원본 숫자 리스트에서 짝수를 걸러내고 제곱한 결과를 새 리스트로 생성합니다.

예제 2: 함수 조합

from functools import reduce

# 숫자 리스트에서 홀수의 합을 계산
numbers = [1, 2, 3, 4, 5, 6]
odd_sum = reduce(lambda x, y: x + y, filter(lambda x: x % 2 == 1, numbers))
print(odd_sum)  # 출력: 9

위의 예제에서 filter()reduce() 함수를 조합하여 홀수만 걸러내고 그 합을 계산합니다.

함수형 프로그래밍은 코드를 더 명확하고 추상화된 방식으로 작성하며, 코드의 재사용성과 유지 보수를 증가시키는데 도움을 줍니다. 함수형 프로그래밍은 파이썬과 같은 다양한 프로그래밍 언어에서 적극적으로 활용될 수 있는 프로그래밍 패러다임입니다.