<Python> 람다 함수와 map(), filter() 함수

반응형

람다 함수 소개

파이썬의 람다(lambda) 함수는 익명 함수의 개념을 지원하는데 사용되며, 간단한 연산이나 기능을 정의할 때 유용합니다. 람다 함수는 한 줄로 작성되며 다른 함수의 인수로 사용될 수도 있고, 인라인 작업에 활용될 수도 있습니다.

람다 함수는 다음과 같은 구문을 사용하여 정의합니다.

lambda arguments: expression

람다 함수 예시

다음 예는 두 숫자를 더하는 람다 함수입니다.

add = lambda x, y: x + y
print(add(3, 5))  # 출력: 8

람다 함수는 코드를 짧게 작성할 수 있지만, 가독성이 떨어질 수 있으므로 적절한 상황에서 사용해야 합니다.

map() 함수 소개

map() 함수는 주어진 함수를 전달된 모든 요소에 적용한 결과를 반환합니다. 이는 주어진 반복 가능한 객체에 함수를 일괄 적용하여 새로운 결과 집합을 얻는 데 사용됩니다.

map() 함수는 다음과 같은 구문을 사용합니다.

map(function, iterable)

map() 함수 예시

def square(x):
    return x * x

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)
print(list(squared_numbers))  # 출력: [1, 4, 9, 16, 25]

이 작업을 람다 함수와 함께 사용하면 더 간결하게 작성할 수 있습니다.

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x * x, numbers)
print(list(squared_numbers))  # 출력: [1, 4, 9, 16, 25]

filter() 함수 소개

filter() 함수는 주어진 함수를 만족하는 요소만 포함하는 새로운 리스트를 반환합니다. 이를 통해 주어진 반복 가능한 객체에서 조건에 맞는 요소만 추출할 수 있습니다.

filter() 함수는 다음과 같은 구문을 사용합니다.

filter(function, iterable)

filter() 함수 예시

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

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = filter(is_even, numbers)
print(list(even_numbers))  # 출력: [2, 4, 6, 8, 10]

이 작업을 람다 함수와 함께 사용하면 더 간결하게 작성할 수 있습니다.

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = filter(lambda x: x % 2 == 0, numbers)
print(list(even_numbers))  # 출력: [2, 4, 6, 8, 10]

이 글에서는 파이썬의 람다 함수 및 map()filter() 함수에 대해 알아보았습니다.

 

람다 함수는 코드를 간결하게 작성할 수 있고, map()filter() 함수와 같이 사용하여 리스트 변환 및 필터링 작업을 수행할 수 있습니다.

 

감사합니다.

'Developer > Python' 카테고리의 다른 글

<Python> 모듈 import와 사용  (0) 2023.08.03
<Python> 패키지와 패키지 관리  (0) 2023.08.03
<Python> 함수 작성 및 호출  (0) 2023.08.01
<Python> List Comprehension  (1) 2023.07.31
<Python> 반복문과 이터레이터  (0) 2023.07.31

Designed by JB FACTORY