파이썬 람다 함수
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.