lambda 매개변수1, 매개변수 2...: 수식
람다표현식은 이름이 없는 익명함수
#두 수를 매개변수로 받아 더한 결과를 리턴하는 함수
def get_plus(n1,n2):
return n1+n2
get_plus(1,2)
3
#람다표현식으로 만들기
lambda n1,n2: n1+n2
#람다표현식 사용하기
(lambda n1,n2: n1+n2)(1,2)
3
#람다표현식을 프로그램 내에서 재사용하고 싶다면, 람다표현식을 변수에 담아서 사용한다.
lambda_plus = lambda n1,n2:n1+n2
#변수로 람다표현식 담아 호출하기
lambda_plus(1,2)
lambda_plus(3,5)
8
map 함수
리스트나 튜플의 각 요소를 지정된 함수로 처리해주는 함수
list(map(함수, 리스트))
tuple(map(함수,튜플)) 리스트, 튜플 각 요소에 함수 적용
원본리스트를 변경하지 않고 새 리스트를 생성한다.
#map 함수를 이용하여 리스트 a의 각 요소를 정수화 하여 새로운 리스트로 만들기
a= ['1','2','3','4']
b=list(map(int,a))
print(a)
print(b)
['1', '2', '3', '4']
[1, 2, 3, 4]
#아래 리스트 l1에 1을 더한 l2 리스트 만들기
l1 = [1,2,3,4,5]
l2 = list(map((lambda x: x+1),l1))
print(l1)
print(l2)
[1, 2, 3, 4, 5]
[2, 3, 4, 5, 6]
lambda 매개변수 1 , 매개변수 2, ... : 식1(True일때 실행할 식) if 조건식 else 식2(False일때 실행할 식)
#아래 리스트에서 짝수는 float으로 바꾸고, 홀수는 str로 바꾸기
import numpy as np
l1 = list(np.arange(1,11))
list(map(lambda x: float(x) if x%2==0 else str(x),l1))
['1', 2.0, '3', 4.0, '5', 6.0, '7', 8.0, '9', 10.0]