[Python] lambda

hyunsooo·2023년 10월 17일
0
  • A lambda function is a small anonymous function.

  • A lambda function can take any number of arguments, but can only have one expression.

Python에서의 lambda는 익명 함수로서 함수를 재사용할 필요가 없는 상황이나 복잡한 선언 및 호출을 거치지 않고 간단한 동작을 빠르게 수행하기 위한 용도로 만들어진 기능입니다. lambda 문법은 여러 개의 인자를 가질 수 있지만 하나의 표현식만 사용할 수 있습니다.


def plus(x, y):
	return x + y

plus(2, 3)
>>> 5

(lambda x, y : x + y)(2, 3)
>>> 5

파이썬에서는 lambda를 위와 같이 활용할 수 있습니다. 함수명을 부여해 선언하거나 호출을 하지 않는 부분은 직관적으로 와닿지만 위의 예시에서는 굳이 lambda 함수를 사용하는 이유는 잘 모르겠습니다.

Python에서는 map이라고 하는 함수가 존재합니다. 특히, lambda는 map(함수, iterable), reduce(함수, iterable), filter(함수, iterable)등과 함께 쓰일때 그 유용성이 들어난다고 생각합니다.

def square(x):
	return x * x
    
arr = [1, 2, 3, 4, 5]
result = []
for element in arr:
	result.append(square(element))
result
>>> [1, 4, 9, 16, 25]

result = list(map(lambda x:x*x, arr))
result
>>> [1, 4, 9, 16, 25]

위의 예시처럼 간단한 동작을 iterable한 객체의 모든 요소에 적용할때는 lambda를 사용하여 성능을 향상시킬 수 있습니다.

profile
지식 공유

0개의 댓글