Computer Science

Python: Lambda 함수와 zip 함수

무니화니 2022. 11. 16. 00:09

람다 함수란 간결하게 함수를 만들 수 있는 방법 중 하나입니다.

원래 함수는

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한 효과를 낸다.