반응형

[Python] lambda

반응형



lambda는 익명 함수로 함수를 간단하게 정의하는 데 쓰입니다. C++에서의 labmda 함수는 상당히 복잡한 구문을 가졌는 데 반해 Python에서는 다음과 같은 형식으로 작성하면 됩니다.


lambda 인자 : 표현식


C++에 (http://engkimbs.tistory.com/62) 비교하면 너무나도 간단한 식이죠! 이게 바로 Python의 매력이 아닌가 싶습니다.


이러한 차이는 C++과 Python이 지향하는 바가 달라서 그렇습니다만 일단 'Python이 정말 간단하구나!'라고 생각하고 넘어가죠.


아래의 예는 람다 함수의 예제입니다.

 

결과

30


map과 함께 써서 원하는 값들이 들어 있는 리스트를 뽑아내는 데도 사용됩니다. 여기서 map은 어떤 값의 목록(리스트)을 받아들여 그에 맞는 결과물을 출력하는 함수입니다. 밑에서는 0~9까지의 값을 받아 들여 각각의 값의 제곱수의 리스트를 출력하는  코드입니다.


결과

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

만일 lambda 함수를 작성했는 데 이번 라인만이 아닌, 다음에도 사용하고 싶으면 어떤 변수에 assign하면 됩니다.


결과
5


P.S


요즘 프로젝트 하면서 새삼스럽게 파이썬의 매력에 푹 빠지는 중입니다.


다음과 같은 C++스타일의 코드를 파이썬으로 단 한 줄로 해결 가능합니다.

바로 이런 식으로요!
참으로 간편하지 않습니까?


반응형

이 글을 공유하기

댓글

Designed by JB FACTORY