Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

동산로의 블로그

람다 함수 Lambda function 본문

카테고리 없음

람다 함수 Lambda function

동산로 2025. 4. 17. 10:39

람다 함수

람다 함수는 함수 리터럴(function literal), 익명함수(anonymous function)라고도 불립니다. def로 정의된 일반 함수와 달린, 람다 함수는 한 줄로 간결하게 정의할 수 있기에 즉석에서 함수를 만들어 사용할 때 유용합니다.

람다 함수의 선언

보통 함수를 정의할 때는 다음과 같이 def을 사용합니다.

def func(param1, param2):
    return param` + param2

람다 함수를 사용하면 같은 기능을 다음처럼 한 줄로 표현할 수 있습니다.

    lambda param1, param2: param1 + parma2

여기서 lambda는 python의 내장 키워드(keyword)이며, : 앞에는 인자들, :뒤에는 리턴값(표현식)을 적습니다.

람다함수의 다양한 사용법

람다 함수는 리스트 내에서도 정의 가능합니다.

li = [lambda arg=x: arg * 10 for x in range(1,5)]
for f in li:
    print(f())

여기서 arg=x는 기본 인자로 현재의 x값을 기억하게 합니다.

람다 함수 안에서도 삼항 연산자 형식으로 if-else 조건을 사용할 수 있습니다.

check =labmda x: "even" if x % 2 == 0 else "odd"
print(check(3))

함수를 인자로 받는 map, filter, reduce 와 같은 함수들과 함께 자주 사용됩니다.


n = [1,2,3,4,5,6]
even = filter(lambda x: x% 2 == 0 , n)
print(list(even))

a =[1,2,3,4]
b = map(lambda x : x * 2 ,a)
print(list(b))

요약

이름이 없는 함수로 일회성 사용에 적합합니다.
표현식 한 줄로 작성되며 return키워드를 사용하지 않습니다.
보통 다른 함수의 인자로 전달할 때 유용합니다.
조건 표현식과 기본 인자 사용이 가능합니다.
복잡한 로직에는 부적합하고, 간단한 연산에 적합합니다.