람다는 함수를 간단하게 사용가능하게 해줍니다.
람다는 이름이 없는함수, 익명함수라고 하기도 합니다.
람다를 사용하는 방법은 매우 간단합니다.
매개변수 두개를 받아 두수의 합을 리턴하는 간단한 함수를 작성하는데 아래와같이 사용 가능합니다.
#lambda 매개변수 : 표현식 def add(n,m): return n+m print(add(2,3)) #5 print((lambda n,m:n+m)(2,3)) #5 | cs |
람다를 변수에 할당하여 재사용 할 수도 있습니다.
lambdaAdd = lambda n,m:n+m print(lambdaAdd(2,3)) #5 print(lambdaAdd(4,5)) #9 | cs |
람다식 안에서 조건도 사용 가능합니다.
print((lambda n,m: n if n%2==0 else m)(1,3)) #3 print((lambda n,m: n if n%2==0 else m)(2,3)) #2 | cs |
람다함수는 map, filter, reduce 처럼 매개변수로 함수가 필요한곳에 유용하게 쓰입니다.
(map, filter, reduce 클래스사용방법)
map, filter, reduce 를 람다함수를 이용하여 작성해보겠습니다.
l = list(range(1,11)) print(l) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] m = list(map(lambda n:n*n, l)) print(m) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] f = list(filter(lambda n:n%2==0, l)) print(f) # [2, 4, 6, 8, 10] r = reduce(lambda n,m:n*m, l) print(r) # 3628800 | cs |
람다함수를 잘 이용하면 코드를 간결하게 짤 수 있습니다.
'Python' 카테고리의 다른 글
[Python]파이썬 몫,나머지 구하기(/,%,divmod) (6) | 2019.03.06 |
---|---|
[Python]파이썬 packing과 unpacking (0) | 2019.02.26 |
[Python]파이썬 맵,필터,리듀스(map,filter,reduce) (0) | 2019.02.22 |
[Python]파이썬 mutable과 immutable (0) | 2019.02.18 |
[Python]파이썬 UUID(GUID) 만들기 (0) | 2019.02.12 |