습관처럼
python - lambda 본문
람다 형식은 인공지능 분야나 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'
'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 |