목차
728x90
반응형
lambda 함수 특징
- 함수를 간편하게 작성할 수 있어서 다른 함수의 인수로 넣을 때 주로 사용
- 람다 표현식은 변수를 할당하지 않고 그 자체를 바로 호출할 수 있음
- 람다 표현식 안에서는 새 변수를 만들 수 없음
람다 표현식으로 익명함수 만드는 방법
1. 기본 형식
- lambda 매개변수 : 표현식
def solution(x, y):
return x + y
print(solution(1, 2)) # 1+2 = 3
(lambda x, y: x + y)(1, 3) # 1+3 = 4
----------------------------
> 3
> 4
1-1. 식 자체 호출
- (lambda 매개변수 : 식)(인수)
(lambda x: x + 10)(1)
-------------------------
> 11
1-2. 표현식 안에 변수를 만든 경우
(lambda x: y = 10; x + y)(1) # 오류 발생
y = 10
(lambda x: x + y)(1) # 오류가 발생하지 않는 코드
-------------------------------------
> SyntaxError: invalid syntax
> 11
2. map()
- map(함수, 리스트)
list(map(lambda x : x**2, range(5)))
list(map(lambda x : x + 10, [1, 2, 3]))
--------------------------------------------
> [0, 1, 4, 9, 16]
> [11, 12, 13]
2-1. 표현식을 인수로 사용
def solution(x):
return x + 10
list(map(solution, [1, 2, 3]))
--------------------------------------------
> [11, 12, 13]
3. filter()
- filter(함수, 리스트)
list(filter(lambda x: x < 5, range(10)))
--------------------------------------------
> [0, 1, 2, 3, 4]
728x90
반응형
'Python > 기초문법' 카테고리의 다른 글
[기초문법] zip() 함수 (0) | 2024.02.28 |
---|---|
[기초문법] enumerate() 함수 (1) | 2023.12.27 |
[알고리즘] Dynamic Programming (동적계획법) - Python (0) | 2023.08.16 |
[기초문법] 아스키코드 변환 (ASCII) (0) | 2023.08.06 |
[기초문법] itertools를 이용한 순열, 조합 (0) | 2023.07.13 |