'람다함수'에 해당되는 글 1건

728x90

def plus_ten(x):

return x + 10

print(plus_ten(2))

 

람다 표현식은 이름이 없는 함수이기 때문에 람다 표현식을 익명 함수(anonymous function)로 부르기도 한다.

 

plus_lambda = lambda x : x + 10

print(plus_lambda(2))

 

람다 표현식은 변수에 할당하지 않고 람다 표현식 자체를 바로 호출할 수 있다. 다음과 같이 람다 표현식을 ( )(괄호)로 묶은 뒤에 다시 ( )를 붙이고 인수를 넣어서 호출하면 된다.

print((lambda x: x + 10)(2))

 

= [12345678910]
= list(map(lambda x: str(x) if x % 3 == 0 else x, a))
# 람다 표현식 안에서는 elif를 사용할 수 없다.
print(b)
 
# [1, 2, '3', 4, 5, '6', 7, 8, '9', 10]
 

 

 
# lambda 식 : 메모리 절약, 가독성 향상, 코드 간결
# 함수는 객체이므로 객체를 생성하면 리소스(메모리) 할당된다.
# 람다는 즉시 실행(Heap 초기화) -> 메모리 초기화
 
lambda_mul_10 = lambda num: num * 10
print('>>>', lambda_mul_10)
 
def func_final(x,y,func):
    print(x * y * func(10))
 
func_final(10,10,lambda_mul_10)
print(func_final(10,10, lambda x: x * 1000))
 

 

# 필터 함수(람다 활용)
= list(range(100))
= filter(lambda number: number % 2 ==0, a)
print(a)
print(list(b))
 

 

# 예제 2 (map 함수)
# map 함수는 기존 리스트를 기반으로 새로운 리스트 생성
= list(range(100))
= map(lambda number: number * number, a)
print(list(b))
 
# list comprehension
print([i * i for i in a if i % 2 == 0])

 

numbers = list(range(1,10+1))
print("#홀수만 추출하기")
print(list(filter(lambda x: x % 2 == 1,numbers)))
print()
 
print("# 제곱해서 50미만 추출하기")
print(list(filter(lambda x : (x ** 2< 50,numbers)))
print()
 
print("# 3 이상 7 미만 추출하기")
print(list(filter(lambda x : 3<= x < 7, numbers)))

 

블로그 이미지

Link2Me

,