본문 바로가기
IT/파이썬

파이썬 람다 함수 - lambda inline function

파이썬 소스 코드에서 lambda 라는 문구가 뵈길래, 또 찾아봄

간단하게 말하면 inline 함수같은 모양새네..

문법은

lambda [매개변수 리스트] : [구문들...매개변수를 여기서 활용하는 간략한 코드]
(lambda x,y: x + y)(10, 20)
>> 30

 

파이썬의 다양한 기능과 합쳐져서, 강력하게 쉽게 사용할 수 있는 예제를 다양하게 찾아볼 수 있다.

겸사 map, filter, reduce 함수 같은 것도 배우자.

 

많은 소스들 중에서 아래 링크에서 정보를 획득하도록 하자. 잘 정리된 것만 여기에 올린다. ㅋㅋ

원본 링크 글에 많이 가셔서들 보세요. 여기 아래는 내가 나중에 이해가 쉽도록 간략하게 몇개만 가져옴.

 

teddylee777.github.io/python/lambda-map-filter-reduce%EC%97%90-%EB%8C%80%ED%95%9C-%EC%89%AC%EC%9A%B4%EC%9D%B4%ED%95%B4

 

python의 built-in function인 lambda, map, filter, 그리고 reduce에 대한 쉬운 이해와 사용법

python의 built-in function인 lambda, map, filter, 그리고 reduce에 대한 쉬운 이해와 사용법에 대하여 알아보겠습니다.

teddylee777.github.io

- lambda는 한 줄로 작성가능한 함수이며, 반드시 1줄 이상 넘어가면 안됩니다.

# int와 string을 혼용해서 사용가능
f = lambda x: x if x==1 else 'WRONG'
f(1)
# 1

f(2)
#'WRONG'

- map 함수와 함께 사용한 예제

# 아름다운 python문법은 넘겨주는 list의 size가 달라도 되며, 작은 알아서 size에 맞춰줍니다
sample_data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sample_data_2 = [1, 1, 1, 10, 100]
list(map(lambda x, y: x+y, sample_data, sample_data_2))
# [2, 3, 4, 14, 105]

- filter 함수로 짝수만 뽑아내는 예제

result = list(filter(lambda x: (x % 2 == 0), sample_data))  
print(result)
# [2, 4, 6, 8, 10]

이정도면 이해가 충분하리라 생각된다.

BJ.

 

simple 잘 정돈하는 서랍장 그림

Pixabay 님의 사진, 출처: Pexels