lambda args : return_value => args="함수 인자" , return_value="함수 반환값"
def str_len(x):
return len(x)
arr = ["aa","bbb","cccc"]
# arr을 정렬할 때 문자열의 길이 순으로 정렬하기
# key 값에 함수를 넣는 방법
sorted(arr,key = str_len)
# key 값에 lambda를 활용하는 방법
sorted(arr,key = lambda x: len(x)) # 여기서 len(x)는 return 값, x는 함수인자
x = 1
type1 = lambda y : x+y # 실행 시 x 값이 결정
type2 = lambda y,x=x:x+y # 선언 시 x 값이 결정
x= 100
type1(1) # 101
type2(1) # 2
# 조건문을 사용한 lambda
k = lambda x,y : x if x>y else y
# x>y 이면 return x / x<=y 이면 return y
mutable 타입은 디폴트 값으로 쓰지 않는다.
map
def square(x):
return x**x
arr = [1,2,3,4,5]
map(square,arr)
map(lambda x: x**x, arr)
# map의 인자로 함수가 갈 수 있음. python에서는 함수가 first class object이기 때문
result = [square(i) for i in arr] # python 에서 더 많이 사용하는 방법