python lambda / default parameter / first class object

jaeha_lee·2022년 5월 4일
0

Lambda

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 에서 더 많이 사용하는 방법

0개의 댓글