습관처럼

python - lambda 본문

Language/python

python - lambda

dev.wookii 2019. 12. 22. 00:35

람다 형식은 인공지능 분야나 AutoCAD라는 설계 프로그램에서 쓰이는 Lisp 언어에서 물려받았다고 하는데요, 함수를 딱 한 줄만으로 만들게 해주는 훌륭한 녀석입니다. 사용할 때는 아래와 같이 써주면 됩니다.

 

다음은 두 수를 더하는 함수입니다.


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

이것을 람다 형식으로는 어떻게 표현할까요?


lambda 인자 : 표현식

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

정말 유용한 함수입니다. 

 

lambda of map


map(함수, 리스트)

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

lambda of filter


filter(함수, 리스트)
 
>>> list(filter(lambda x: x < 5, range(10))) # python 2 및 python 3
[0, 1, 2, 3, 4]

lambda of reduce


reduce(함수, 순서형 자료)

>>> from functools import reduce   # need to python3 version
>>> reduce(lambda x, y: x + y, [0, 1, 2, 3, 4])
10

>>> reduce(lambda x, y: y + x, 'abcde')
'edcba'

출처:https://wikidocs.net/64

'Language > python' 카테고리의 다른 글

python - string(2)  (0) 2019.12.22
python - string(1)  (0) 2019.12.22
python - 내장함수  (0) 2019.12.22
python - set :집합  (0) 2019.12.21
python - append 그리고 extend  (0) 2019.12.21