Lambda 함수
- 단일문으로 표현되는 익명함수
- 익명함수란 이름이 없는 구현체만 존재하는 간단한 함수를 의미
- 코드 상에서 한번만 사용되는 기능이 있을 때, 굳이 함수로 만들지 않고 1회성으로 만들어 쓸 때 사용
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 | def square(x): return x ** 2 square2 = lambda x : x ** 2 print square print '=' * 20 print square2 print '=' * 20 print square(4), square2(4) print '=' * 20 some = lambda x : x + 2 print some(2) <<<<< 실행결과 >>>>> <function square at 0x04777970> ==================== <function <lambda> at 0x047779B0> ==================== 16 16 ==================== 4 | cs |
1 2 3 4 5 6 | add = lambda x, y : x + y print add(1, 2) <<<<< 실행결과 >>>>> 3 | cs |
### keyword parameter, key를 기본으로 한다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | nums = [91, 29, 14, 72, 83, 45] def digit(n): return n % 10 print '오름차순' print sorted(nums) print '\n' print '일의 자리 숫자를 비교하여 내림차순으로 정렬' print sorted(nums, key = digit, reverse = True) print sorted(nums, key = lambda x : x % 10) <<<<< 실행결과 >>>>> 오름차순 [14, 29, 45, 72, 83, 91] 일의 자리 숫자를 비교하여 내림차순으로 정렬 [29, 45, 14, 83, 72, 91] [91, 72, 83, 14, 45, 29] | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | nums = [(1, 2), (9, 5), (8, 4), (7, 6), (10, 2), (4, 5)] def get_key(item): return item[1] ##(a,b) b 기준으로 정렬 print sorted(nums, key = get_key) ## (a, b) a 기준으로 정렬 print sorted(nums, key = lambda x : x[0]) <<<<< 실행결과 >>>>> [(1, 2), (10, 2), (8, 4), (9, 5), (4, 5), (7, 6)] [(1, 2), (4, 5), (7, 6), (8, 4), (9, 5), (10, 2)] | cs |
반응형
'Python > Python Basic' 카테고리의 다른 글
Day5) 3. 예외처리(try-except, finally), 예외처리세분화 (0) | 2017.05.25 |
---|---|
Day5) 2. filter, map, reduce (0) | 2017.05.25 |
Day4) 4. 1st class citizen(일등 시민) (0) | 2017.05.25 |
Day4) 3. variable length argument(가변길이 인자) (0) | 2017.05.25 |
Day4) 2. multiple return(복수 값 반환) & variable scope(변수의 범위) (0) | 2017.05.25 |