파이썬 람다 함수

IT 위키

파이썬 람다 함수(lambda function, 無名函數)는 이름 없이 간단하게 정의할 수 있는 익명 함수로, 주로 간단한 연산이나 함수 인자로 사용된다.

1 개요[편집 | 원본 편집]

람다 함수는 lambda`키워드를 사용하여 정의되며, 일반적인 def`키워드로 정의한 함수와 동일하게 동작하지만 함수 이름 없이 바로 사용할 수 있다. 함수형 프로그래밍에서 자주 사용되며, map(), filter(), sorted()` 등과 함께 사용되는 경우가 많다.

2 문법[편집 | 원본 편집]

  • 기본 문법: lambda 인자들: 표현식`
  • 특징:
    • 인자 개수에는 제한이 없으나, 표현식은 반드시 한 줄이어야 한다.
    • 표현식의 결과가 자동으로 반환된다(`return` 사용 불가).

3 예시[편집 | 원본 편집]

  • 두 수를 더하는 람다 함수:
    • `lambda x, y: x + y`
  • 리스트의 각 요소에 제곱을 적용:
nums = [1, 2, 3, 4]
squares = list(map(lambda x: x ** 2, nums))
print(squares)  # [1, 4, 9, 16]
  • 짝수만 필터링:
nums = [1, 2, 3, 4, 5, 6]
evens = list(filter(lambda x: x % 2 == 0, nums))
print(evens)  # [2, 4, 6]
  • 키를 기준으로 정렬:
pairs = [(1, 3), (2, 2), (3, 1)]
sorted_pairs = sorted(pairs, key=lambda x: x[1])
print(sorted_pairs)  # [(3, 1), (2, 2), (1, 3)]

4 일반 함수와 비교[편집 | 원본 편집]

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

add_lambda = lambda x, y: x + y

print(add(3, 4))         # 7
print(add_lambda(3, 4))  # 7

5 주의사항[편집 | 원본 편집]

  • 람다 함수는 표현식만 가능하며, 복잡한 로직에는 부적합하다.
  • 디버깅이나 가독성 측면에서는 이름 있는 함수보다 불리할 수 있다.
  • 람다 함수는 일회성 또는 간단한 기능에 적합하다.

6 같이 보기[편집 | 원본 편집]

7 참고 문헌[편집 | 원본 편집]

  • Lutz, Mark. *Learning Python*. O'Reilly Media, 2013.
  • Van Rossum, Guido, and Fred L. Drake Jr. *The Python Language Reference Manual*. Python Software Foundation, 2023.

8 각주[편집 | 원본 편집]