[파이썬] map, filter, reduce 함수

Python의 강력한 기능 중 하나는 map, filter, reduce 함수입니다. 이들 함수는 리스트를 생성하거나 변형하는 데 도움이 됩니다.

Map

map 함수는 리스트의 각 요소에 함수를 적용합니다. 예를 들어, 리스트의 요소를 모두 제곱하고 싶다면 다음과 같이 사용할 수 있습니다.

numbers = [1, 2, 3, 4, 5]

def square(x):
  return x ** 2

squared_numbers = list(map(square, numbers))

print(squared_numbers) # [1, 4, 9, 16, 25]

Filter

filter 함수는 리스트의 요소를 걸러내는 데 사용합니다. 예를 들어, 리스트에서 짝수만 걸러내고 싶다면 다음과 같이 사용할 수 있습니다.

numbers = [1, 2, 3, 4, 5]

def is_even(x):
  return x % 2 == 0

even_numbers = list(filter(is_even, numbers))

print(even_numbers) # [2, 4]

Reduce

reduce 함수는 리스트의 각 요소를 하나의 값으로 결합합니다. 예를 들어, 리스트의 요소를 모두 더하고 싶다면 다음과 같이 사용할 수 있습니다.

from functools import reduce

numbers = [1, 2, 3, 4, 5]

def add(x, y):
  return x + y

total = reduce(add, numbers)

print(total) # 15

Map, filter, reduce 함수는 리스트 처리에 매우 유용합니다. 이들 함수를 사용하면 리스트를 빠르고 쉽게 생성하거나 변형할 수 있습니다.