함수나, 클래스를 만들때 보통은 함수에 이름을 붙여서 사용한다. 그러나 함수를 재사용하지 않으려고 하는 경우에 Lambda 함수를 사용한다.

Lambda

람다식은 아래와 같다.

lambda

그래서 위의 식을 이용해서 간단하게 덧셈 함수를 만들면 이렇게 할 수 있다.

add = lambda x, y: x+y
               #매개변수  :  #실행문
ret = add(1, 3)
print(ret)    # 4가 출력됨

람다는 간단하지만, 처음 사용할땐 어려울 수 있다.

funcs = [lambda x: x+'.pptx', lambda x: x+'.docx']
ret1 = funcs[0]('Intro')
ret2 = funcs[1]('Report')
print(ret1)   # intro.pptx가 출력됨
print(ret2)   # Report.docx가 출력됨

이번엔 람다식을 이용해 key를 부르면 아래와 같이 간단하게 작성할 수 있다.

names = {'Mary':10999, 'Sams':2111, 'Aimy':9778, 'Tom':20245, 'Michale':27115,
          'Bob':5887, 'Kelly':7855}
ret3 = sorted(names.items(), key=lambda x: x[0])
                              #0번째 요소(key)를 불러오는 함수식
print(ret3)