Python 람다(lambda)함수와 응용

생각하는 마리오네트·2021년 9월 10일

파이썬

목록 보기
3/10

파이썬을 복습하면서 람다함수에 대해 정리해보려고 합니다.

람다를 사용하는 목적

  • 람다는 함수를 단순하게 표현할 수 있도록 하여 함수의 계산 이라는 개념을 더 깊이 이해할 수 있도록 돕는다.
  • 람다는 인라인으로 작성할 수 있기 때문에 전체 함수보다 읽기 쉽다. 따라서 함수 표현식의 규모가 작을때 람다를 사용하는 것이 좋다.
  • 람다 함수의 장점은 함수 객체를 반환한다. 따라서 함수 객체를 인수로 필요로 하는 map또는 filter와 같은 함수와 함께 사용할 때 유용하다.

람다함수의 기본형태

lambda x: x+5

이름을 따로 설정해 주지 않아도 함수처럼 인자를 넣어서 반환을 얻을 수 있습니다.

람다 응용

lambda와 같이 쓰기 좋은 함수로 map함수가 있습니다. 간단하게 map함수에 대해 소개하겠습니다.

기본적인 형태로는 map(function, iterable)입니다. 즉, map(적용시킬 함수, 적용할 값들) 이렇게 이해하시면 됩니다.

첫번째 매개변수로 함수, 두번째 매개변수로 반복 가능한 자료형(리스트, 튜플등)이 오는것을 반드시 기억합니다.

  • 리스트[1, 2, 3, 4, 5]를 전달받아서 제곱을 하여 반환해주는 람다함수를 만들어 보겠습니다.
list = [1, 2, 3, 4, 5]
map(lambda x: x**2, list)

>>>[1, 4, 9, 16, 25]
  • 홀수를 전달받을경우 '홀수'를 전달받고 짝수를 전달받았을경우에는 '짝수'를 전달받는 람다함수를 만들어 보겠습니다.
list = [1, 2, 3, 4, 5]
map(lambda x: '홀수' if x%2 !=0 else '짝수', a)

>>> ['홀수', '짝수', '홀수', '짝수', '홀수']
profile
문제를해결하는도구로서의"데이터"

0개의 댓글