본문 바로가기

Python/Python Basic

Day5) 1. Lambda 함수

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(12)
 
<<<<< 실행결과 >>>>>
 
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 = [912914728345]
 
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)
 
<<<<< 실행결과 >>>>>
오름차순
[142945728391]
 
 
일의 자리 숫자를 비교하여 내림차순으로 정렬
[294514837291]
[917283144529]
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
nums = [(12), (95), (84), (76), (102), (45)]
 
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])
 
 
<<<<< 실행결과 >>>>>
[(12), (102), (84), (95), (45), (76)]
[(12), (45), (76), (84), (95), (102)]
cs



반응형