람다 함수란 간결하게 함수를 만들 수 있는 방법 중 하나입니다.
원래 함수는
def functionName(parameter):
return result
같은 형태로 이루어지며, 이 함수를 call 하면서 함수가 활용된다.
그러나, 이 함수가 계속 쓰일 함수가 아니라면, lambda 함수를 이용해서 memory를 절약할 수 있다.
lambda parameter: result
와 같은 식으로, 정의가 됨에 동시에 활용이 가능하다.
예시로,
(lambda x: x**2)(2)
와 같이 사용하면 4가 출력된다.
보통 sort,sorted 함수나 map 함수와 같이 잘 활용되고는 한다. (활용법 추후 설명)
zip 함수
zip함수는 여러 리스트, 튜플 등 그룹들의 데이터를 한번에 그룹화시켜준다.
예로,
names=['A', 'B', 'C']
ages=[33,34,60]
이라는 두 리스트가 있다.
list(zip(names,ages))
와 같은 식으로 zip 함수를 사용하면,
두 리스트의 원소들이 인덱스에 따라 짝을 이뤄 튜플에 들어간다.
people=[('A', 33) , ('B',34), ('C', 60)]
가령, 이 people이라는 리스트를 나이 순으로 sort하고 싶다.
그렇다면, 방금 전에 설명햇던 lambda를 이용하여,
sortedList=sorted(people, key= lambda x: x[1])
와 같이 사용하면 sort한 효과를 낸다.