본문 바로가기

Algorithm/Python

[Python] 람다(Lambda) 표현식

람다 표현식은 익명 함수를 만들때 사용한다. 함수를 간편하게 작성할 수 있어서 다른 함수의 인수로 넣을 때 주로 사용한다. 람다 표현식은 다음과 같이 사용한다.

 

lambda 매개변수 : 표현식

 

바로 예시를 살펴보자.

 

1. def()

우리는 두 수를 더하는 함수를 만들때 다음과 같이 작성한다.

 

>>> def hap(a, b):
...   return a + b
...
>>> hap(10, 20)
30

 

이를 람다 표현식으로 쓰면 다음과 같이 간결하게 쓸 수 있다.

 

>>> (lambda a,b: a + b)(10, 20)
30

 

2. map()

람다식은 map()함수와도 응용하여 사용할 수 있다.

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

 

3. sorted()

다음과 같은 입력 예시가 있을 때, 숫자를 기준으로 오름차순으로 정렬을 해야하는 상황이라고 가정해보자.

 

홍길동 95
이순신 77

 

이런 경우에는 다음과 같이 코드를 작성하면 숫자를 기준으로 정렬을 할 수 있다.

 

array = sorted(array, key = lambda student: student[1])