SW개발/Python

[Python]lambda 함수

lambda 란?

람다는 런타임에 생성해서 사용할 수 있는 익명 함수다. 쓰고 버리는 일회용 함수라고 생각하면 된다.

 

사용 방법

lambda 인자 : 표현식

 

예시

>>> def hap(x, y):
...   return x + y
...
>>> hap(10, 20)
30

위와 같은 함수를 labmda를 이용 하면 아래와 같이 변경할 수 있다.

>>> (lambda x,y: x + y)(10, 20)
30

또한, lambda를 변수에 할당하여 재사용 할 수도 있다.

 

lambda의 활용 방법

 

map 함수에서의 활용 

-> map 함수는 함수와 리스트를 인자로 받는다. 이를 간략하게 하기 위하여 lambda 를 사용할 수 있다.

>>> list(map(lambda x: x ** 2, range(5)))     # 파이썬 2 및 파이썬 3
[0, 1, 4, 9, 16]

 

filter 함수에서의 활용

>>> list(filter(lambda x: x % 2, range(10)))  
[1, 3, 5, 7, 9]

 

이렇듯, lambda 는 저번에 배웠던 map, reduce, filter 와 같이 간략하게 함수를 표현할 때 사용할 수 있다.

728x90

'SW개발 > Python' 카테고리의 다른 글

[Python]if __name__ == "__main__" 란?  (0) 2021.01.20
[Python]모듈이란?  (0) 2021.01.20
[Python]Class 는 왜 필요한가?  (2) 2021.01.19
[Python]split, join 함수  (0) 2020.11.23
[Python]map, filter 함수  (0) 2020.11.21