파이썬 람다(Lambda) & Map 함수 #1

람다(Lambda) 함수

뭔가 거창하고 수학에서 유래된 이름을 갖고 있기 때문에 상당히 어려운 놈일 거라 생각하시는 분들이 있겠지만, 람다(Lambda) 함수는 기존의 함수를 조금 더 간단히 축약된 방식으로 사용하기 위한 (익명)함수입니다. 내용적으로 그렇게 어려운 부분은 없습니다. 단지, 많이 사용하게 됩니다. 특히 판다스를 사용하게 되면, 람다와 Map 함수를 많이 볼 수 있어요. 역시 대단히 깊게 들어갈 내용은 아니고, 특성 파악과 몇 번 사용해보는 정도로 연습하면 되는 부분입니다.

#일반 파이썬 함수
def f(x, y):
    return x * y
print(f(35, 5))

#람다(lambda) 함수 활용
#lamda 매개변수 : 표현식
print((lambda x, y : x * y)(35, 5))

위 두 코드 모두 결과값은 175가 나올 거예요. 한 번 직접 코딩하셔서 확인해보세요. 위 코드에서도 볼 수 있는 것처럼 람다 함수를 활용하게 되면, 코드 한 줄로 단축되는 것을 느낄 수 있습니다. 심지어 함수의 이름도 없이 사용가능해요. 상당히 직관적인 파이써닉 코드죠? 람다 함수의 표현식을 외울 필요는 없어요. 특성만 파악하고 몇 번 함수 만들어서 람다(lambda) 함수로 바꿔보시면 익히실 수 있습니다.

Map 함수

Map 함수 사용법은 ‘map(함수, 리스트)’, 즉 map()은 함수와 리스트를 인자로 받게 됩니다. 풀어서 말씀드리면 리스트의 요소들을 하나씩 뽑아서 정의한 함수에 대입시킨 결과값을 새로운 리스트에 저장해줄 때 사용합니다. 람다와 같이 사용하게 되고, 판다스나 머신러닝에서 정말 많이 사용해요. 어렵나요? 몇 번 연습하면 활용하실 수 있습니다.

# 파이썬3부터는 list()로 반드시 감싸줘야 합니다.
# range(4) -> [0, 1*1*1, 2*2*2, 3*3*3]
print(list(map(lambda x: x ** 3, range(4))))

람다와 Map을 살펴봤는데, 다음 #2에서는 reduce, filter 함수와 같이 사용하는 경우를 살펴보도록 할게요. 우선 오늘은 이런 게 있다는 정도만 알면 될 것 같습니다. 다음 #2에서 연습을 많이 해보도록 하겠습니다.

More from author

1 COMMENT

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Related posts

60코딩 커뮤니티spot_img

Latest posts

‘기초~중급 Python 문법’ 정모(2022.03.04)

최근에 기초~중급 수준의 내용으로 정모를 가졌어요. 물론, 저희 60coding은 클래스 모임이 아닌 코딩 공부(주제는 미리 공지) 리뷰와 잡담 위주의 모임을 추구합니다. 60Coding의 최민진 멘토님이...

파이썬 람다(Lambda) & Map 함수 #2

지난 콘텐츠에서는 람다(Lambda)와 Map을 살짝 살펴봤어요. 람다와 맵은 같이 사용하는 경우가 많고, 또 다른 Reduce() 역시 람다, 맵 함수와 같이 많이 사용하게 됩니다. 우선...

파이썬 기초 #6(연산자/Input)

연산자 연산자기능예제+더하기x + y = 10-빼기x - y = 20*곱하기x * y = 30/나누기x / y = 3%나머지x % y = 1**제곱x ** y =...