python_람다함수(lambda)

Eugenius1st·2022년 6월 28일
0

Python

목록 보기
12/16

람다(lambda)

함수를 딱 한줄만으로 만들게 해주는 훌륭한 녀석

lambda 매개변수 : 표현식

example

두 수를 더하는 함수

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

람다 함수 형식으로 표현

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

람다의 이용

1. map()

map(함수, 리스트)

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

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

2. reduce()

reduce(함수, 시퀀스)

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

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

먼저 0과 1을 더하고, 그 결과에 2를 더하고, 또 3을 더하고 4를 더한 값을 돌려준다. 한마디로 전부 다 더하라는 의미이다.

3. filter()

filter(함수, 리스트)

리스트에 들어있는 원소들을 함수에 적용시켜서 결과가 참인 값들로 새로운 리스트를 만들어준다. 다음은 0부터 9까지의 리스트 중에서 5보다 작은 것들만 돌려주는 예시이다.

>>> list(filter(lambda x:x<5, range(10)))
[0,1,2,3,4]

결과값이 True인 경우를 돌려준다.

profile
최강 프론트엔드 개발자가 되고싶은 안유진 입니다

0개의 댓글