파이썬 람다

정은경·2020년 3월 17일
0

IT Terms

목록 보기
15/22

람다(lambda)

  • 람다 형식은 인공지능 분야나 AutoCAD라는 설계 프로그램에서 쓰이는 Lisp 언어에서 물려받았다고 함
  • 함수를 딱 한 줄만으로!
  • 람다 표현식은 '식' 형태로 되어 있다고 해서 람다 표현식(lambda expression)이라고 부름

1. 람다 함수 생성

lambda 인자 : 표현식

>> lambda x: x + 10
<function <lambda> at 0x1103bd320>
>>

실행을 해보면 함수 객체가 나오는데,
이 상태로는 함수를 호출할 수 없습니다.
왜냐하면 람다 표현식은 이름이 없는 함수를 만들기 때문입니다.
그래서 람다 표현식을 익명 함수(anonymous function)로 부르기도 합니다.

2. 람다 함수 호출

2-1. 익명함수를 변수에 할당해서 호출

lambda로 만든 익명 함수를 호출하려면, 다음과 같이 람다 표현식을 변수에 할당!

>> func = lambda x: x + 10
>> func(1)
11
>>

2-2. 람다 표현식 자체를 호출

람다 표현식을 ( )(괄호)로 묶은 뒤에
다시 ( )를 붙이고 인수를 넣어서 호출

>> (lambda x: x + 10)(1)
11
>>

2-3. 람다 표현식으로 매개변수가 없는 함수 만들기

>>> (lambda : 1)()
1
>>> x = 1
>>> (lambda : x)()
1
>>>
a = [x for x in range(1,10)]
print(a)
# (lambda x : str(x))(10)
# 익명함수(10)
a = list(map(lambda x: str(x) if x % 3 == 0 else x, a))
print(a)
  • 사용예시
# 인자 x,y를 받아서 x+y를 돌려주는 람다함수
(lambda x,y: x + y)(10, 20)
# 결과는 30

Reference

profile
#의식의흐름 #순간순간 #생각의스냅샷

0개의 댓글