몽상실현개발주의

[Python] Lambda 표현식 본문

카테고리 없음

[Python] Lambda 표현식

migrationArc 2021. 5. 23. 15:26

[Python] Lambda 표현식

[Python] Lambda 표현식

 

람다 표현식은 함수를 간편하게 작성할 수 있어서 다른 함수의 인수로 넣을 때 주로 사용하며, 식 형태로 되어 있다고 해서 람다 표현식(lambda expression)이라고 한다.

 

// function
def plus_ten_fnc(x){
    return x + 10
}
print(plus_ten_fnc(1))
// 11


// lambda
plus_ten_lambda = lambda x: x + 10
print(plus_ten_lambda(1))
// 11

입력 값에 10을 더하고 반환하는 함수인 plus_ten_fnc 를 같은 동작을 하는 lambda 식으로 표현 가능하다.

 

 

하지만, lambda 식은 함수와는 다르게 내부에 변수를 만들 수 없음을 주의하자.

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

 

 

lambda 표현식은 함수의 인수 부분에서 간단하게 함수를 만들기 위해서 주로 사용된다.

nums = [[1, 5], [4, 2], [3, 6], [7, 8]]
nums.sort(key = lambda x: (-x[0], x[1]))
print(nums)
// [[7, 8], [4, 2], [3, 6], [1, 5]]


nums2 = [1, 2, 3]
nums2 = list(map(lambda x: x + 10, nums2))
print(nums2)
// [11, 12, 13]

 

Comments