(Python) lambda 함수 활용

람다함수 활용

파이썬에서 람다함수가 어떻게 활용되는지 알아보자.

기본적 활용

lambda x: int(x)

문자열 변수를 정수형으로 변환.

lambda x,y: x>y

x, y 값을 비교.

lambda x: x['key']

딕셔너리에서 key를 이용해 value를 얻음.

다른 내장함수와의 활용

  • min, max
# min, max 함수
names = ['Suh', 'Adrian', 'Bill', 'Jonathan']

# longest : 길이가 가장 긴 이름
longest = max(names, key= lambda n: len(n))

print(longest)
# Jonathan

keylambda n: len(n) 로 부여해 가장 길이가 긴 이름을 리턴한다.

  • sort, filter, map
keys = [{'key': 8}, {'key': 5}, {'key': 9}, {'key': 3}]
# sort 함수
keys.sort(key = lambda x: x['key'])
# [{'key': 3}, {'key': 5}, {'key': 8}, {'key': 9}]

keys 리스트를 내부의 'key' 들의 value를 기준으로 정렬하였다.

# filter 함수
filter(lambda x: x['key']<5, keys)

'key' 들의 value가 5보다 작은 요소들을 가져온다.

# map 함수
map(lambda x: x['key']+5, keys)

모든 'key' 의 value에 5를 더한다.