람다 형식은 인공지능 분야나 AutoCAD라는 설계 프로그램에서 쓰이는 Lisp 언어에서 물려받았다고 한다.

 

사용법

lambda(인자 : 표현식)

function으로

>>> def hap(x, y):

... return x + y

...

>>> hap(10, 20)

30

 

람다 형식으로

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

30

map(함수, 리스트)

이 함수는 함수와 리스트를 인자로 받는다. 그리고, 리스트로부터 원소를 하나씩 꺼내서 함수를 적용시킨 다음, 그 결과를 새로운 리스트에 담아준다.

>>> list(map(lambda x: x ** 2, range(5)))

[0, 1, 4, 9, 16]

 

reduce(함수, 순서형 자료)

순서형 자료(문자열, 리스트, 튜플)의 원소들을 누적적으로 함수에 적용시킨다.

>>> from functools import reduce

>>> reduce(lambda x, y: x + y, [0, 1, 2, 3, 4])

10

 

filter(함수, 리스트)

리스트에 들어있는 원소들을 함수에 적용시켜서 결과가 참인 값들로 새로운 리스트를 만들어준다.

>>> list(filter(lambda x: x < 5, range(10)))

[0, 1, 2, 3, 4]


'Programming > Python' 카테고리의 다른 글

파일 입출력  (0) 2017.05.08
사용자 입출력  (0) 2017.05.08
함수  (0) 2017.05.08
for 문  (0) 2017.05.08
while 문  (0) 2017.05.08

+ Recent posts