-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlambda
26 lines (22 loc) · 1.66 KB
/
lambda
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
###[람다(lambda)]
-익명 함수(Anonymous functions)를 지칭하는 용어
-lambda 매개변수 : 표현식
-lambda 함수는 사용자정의 함수를 문법에 맞추어 작성하는 것보다 훨씬 간단하게 한줄 정도로 해결할 수 있는 함수
>>> DataFrame명.apply(lambda x : x['칼럼명']들의 조건식
if x['칼럼명']들의 조건식
#else (x['칼럼명']들의 조건식 또는 값), axis = 1)
-익명함수들은 공통으로 일급객체(First Class citizen)라는 특징을 가지고 있음
일급 객체란 일반적으로 다를 객체들에 적용 가능한 연산을 모두 지원하는 개체
함수를 값으로 사용 할 수도 있으며 파라미터로 전달 및 변수에 대입 하기와 같은 연산들이 가능
장점
1. 코드의 간결성 - 람다를 사용하면 불필요한 반복문의 삭제가 가능하며 복잡한 식을 단순하게 표현할 수 있음
2. 지연연산 수행 - 람다는 지연연상을 수행 함으로써 불필요한 연산을 최소화 할 수 있음
3. 병렬처리 가능 - 멀티쓰레디를 활용하여 병렬처리를 사용 할 수 있음
단점
1. 람다식의 호출이 까다로움
2. 람다 stream 사용 시 단순 for문 혹은 while문 사용 시 성능이 떨어짐
3. 불필요하게 너무 사용하게 되면 오히려 가독성을 떨어 질 수 있음
람다의 표현식
1. 람다는 매개변수 화살표(->) 함수몸체로 이용하여 사용 할 수 있음
2. 함수몸체가 단일 실행문이면 괄호{}를 생략 가능 o
3. 함수몸체가 return문으로만 구성되어 있는 경우 괄호{}를 생략 불가능 x