lambda 함수의 기본 형태는 아래와 같다.
lambda 파라미터: 리턴값
def를 사용할때에 비해 훨씬 간단한, 한 줄 짜리 함수를 만들 수 있다는 것이 장점이지만 그 대신 복잡한 함수를 만들기는 어렵다.
함수의 파라미터로 또 다른 함수를 넣을 수 있는데, 이 함수를 콜백 함수(callback function) 이라고 부른다. 람다 함수를 사용하면 이 콜백 함수를 조금 더 간단하게 작성할 수 있다. 함수의 파라미터 부분에 바로 람다를 넣으면 된다!
nums = [1, 2, 3, 4, 5]
newList = map(lambda x: x * x, nums)
print(list(newList)) # [1, 4, 9, 16, 25] 출력
map 함수의 파라미터로 각 요소를 제곱한 결과를 리턴하는 람다 함수를 넣어주었다.
nums = [1, 2, 3, 4, 5]
newList = filter(lambda x: x > 3, nums)
print(list(newList)) # [4, 5] 출력
filter 함수의 파라미터로 3보다 큰 경우에만 리턴하는 람다 함수를 넣어주었다.