파이썬 람다표현식 활용 방법 (lambda 기초)

함수를 간략하게 만드는 람다표현식에 대해 알아보죠.  특히 람다표현식은 함수를 간편하게 작성할 수 있어서 다른 함수의 인수로 넣을때 자주 사용됩니다. 

람다 표현식 만들기

def plus_ten(x):
  return x + 10

plus_ten(1)

위와 같은 함수를 람다표현식으로 바꾸어보겠습니다.  

lambda 기본형태

저장될 변수 = lambda 매개변수: 식(return 코드)

plus_ten = lambda x: x+10

#사용예
plus_ten(1) # 11

매개변수 x 하나를 받고, x에 더하기 10을 해서 반환한다는 의미

람다 표현식 자체 호출(실행)하기

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

자바스크립트의 자체 실행함수와 형태가 같습니다. ()로 묶어서 마지막에 (1)처럼 매개변수를 전달하고 바로 실행하는 코드입니다.

람다 표현식 안에서는 새로운 변수를 만들 수 없습니다.

(lambda x: y=10; x + y)(1)
# SyntaxError : invalid syntax

위와같이 lambda 안에서 y=10을 정의하면 syntax 에러가 납니다.

y=10
(lambda x: x + y)(1)
# 11

단, 람다표현식 바깥에 있는 변수는 사용할 수 있습니다.

람다 표현식 함수의 인수로 사용하기

람다표현식을 가장 많이 사용하는 경우가 함수의 인수로 사용하는 경우입니다. 아래는 람다표현식을 사용하지 않는 경우입니다.

def plus_ten(x):
  return x + 10

list(map(plus_ten, [1,2,3]))
#[11,12,13]

이것을 람다 표현식으로 만들면 아래와 같습니다.

list(map(lambda x: x+10, [1,2,3]))
#[11,12,13]

한줄로 줄었습니다. 괜찮군요.

오늘은 람다표현식 lambda 에 대해서 한번 간단하게 알아봤습니다. 나중에 여유가 된다면 filter, reduce 메서드와 같이 사용하는 방법도 알아 보겠습니다.

답글 남기기

13 − 5 =