파이썬/람다 함수
람다 함수
코린이도이
2020. 11. 4. 21:50
람다 함수
-
리스트 내포, 조건부 표현식 등과 같이 여러 줄의 코드를 간결하게 표현할 수 있도록 도와주는 새로운 함수 정의 방법
-
lambda로 정의할 수 있고, def와 같은 역할
-
함수의 이름을 정의하지 않고, 일회성으로 간편하게 사용할 때 유용
-
def로 정의할 만큼 복잡하지 않을 때 활용
-
lambda 매개변수1, 매개변수2, ... : 매개변수를 이용한 표현식
-
def 함수와 같이 기본 매개변수, 키워드 매개변수, 가변 매개변수 설정 가능
-
조건문과 함께 사용 가능
- map 내장 함수와 함께 활용: 시퀀스 자료형이 지닌 각 요소 값들에 대해 함수에 적용한 요소를 지닌 map 객체를 반환
def func(x):
return x * x
a = [1, 2, 3, 4, 5]
b = map(func, a)
print(list(b)) # [1,4,9,16,25] 출력됨
-
filter 내장 함수와 함께 활용 (조건에 맞는 값만 출력)
def func(x):
return x>2
a = [1, 2, 3, 34]
b = []
print(list(filter(func,a))) #[3, 34]가 출력됨
-
복잡한 객체를 정렬할 때 활용
students = [('영수', 'A', 15),('철수', 'B', 16),('영희','C',10)]
print(sorted(students, key=lamda x: x[1])) #각 튜플의 두번째 원소를 기준으로 정렬됨
-
문자열 포맷팅과 함께 활용
print((lambda x,y : '{} X {} = {}'.format(x,y,x*y))(3,4))
# 3 X 4 = 12가 출력됨