본문 바로가기
코딩 따라하기

람다식 따라하기 (Coding Lambda Function)

by 전자남성 2020. 12. 7.

람다식 따라하기 (Coding Lambda Function)

 

사실 저는 전에 자바 강의 수업에서 람다식을 배운 적이 있었습니다.

그런나 자바가 너무 싫었기 때문에 람다식이 무엇이었는지 지금은 기억나지 않습니다.

전부터 계속 람다,,, 람다,,, 들었던 기억은 있습니다. 다만 지금 람다를 기억해 낼 수 없을 뿐입니다.

그래서 오늘은 람다가 무엇이고 어떻게 표현할 수 있는지 간단히 정리해 보려고 합니다.

이번 시간에도 유튜버 동빈나 선생님의 [ 파이썬(Python) 입문자용 초급 ] 41강을 적극 참고했습니다

 

람다식이란 함수의 형태를 짧게 쓸 수 해줄 수 있는 기능입니다.

lambdalambda 키워드를 이용하여 매개변수를 지정하여 결과를 도출해낼 수 있습니다.

 

add= lambda a, b : a + b

print(add(1,2))

 

C:\Users\ATIV\Downloads\myworks>python .\lambda.py

3

 

람다 식을 이용함으로써 함수의 정의 과정이 매우 짧아지고 간결해집니다.

특정한 매개변수를 받아서 특정한 결과를 돌려주는 과정은 함수에서 가장 빈번하게 사용됩니다.

, 람다식은 함수의 형태를 더욱 짧게 쓸 수 있도록 해주는 문법입니다.

 

또한 map() 함수와 같이 자주 사용됩니다.

map() 함수는 다수의 원소에 대한 함수의 결과를 한 번에 얻을 수 있도록 도와줍니다.

 

list1 = [11, 12, 13, 14, 15]

list2 = [20, 19, 18, 17, 16]

my_function = lambda x, y : x + y

result = map(my_function, list1, list2)

print(list(result))

 

1행과 2행에서 리스트를 만들어 봅니다.

3행은 맨 처음 만들었던 예제와 같이 lamda x, y를 만들어 x + y를 더해주는 람다식을 my_function으로 만들었습니다.

 

4행 맵 함수는 각 함수를 리스트에 적용할 때, 리스트의 각 원소에 대해 적용해주는 함수를 말합니다.

11+20, 12+19, ... , 15+16 각 원소마다 더해져 각각 315개 만들어집니다.

map함수 map(람다식, 리스트1, 리스트2) 식으로 4행처럼 표기합니다.

매핑한 리스트의 결과는 result에 담기게 됩니다.

 

마지막 5행에서 result 자체를 list() 형태로 출력하면 [31, 31, 31, 31, 31]이 나오게 됩니다.

 

 

C:\Users\ATIV\Downloads\myworks>python .\lambda.py

[31, 31, 31, 31, 31]

 

 

이번 시간에 람다식을 따라 해 보면서, 자바에서 헬로 월드를 출력하던 때가 기억났습니다.

 

public class HelloWorld {

public static void main(String[] args) {

System.out.print("Hello World");

}

}

 

저는 자바의 퍼블릭 스테틱 보이드 메인 형식이 너무 싫었습니다.

이때 이후로 코딩이 너무 어렵다는 생각이 줄곧 심어져 있었습니다.

이 때문에 자바 강의를 듣던 시절, 람다 진도를 뺄 즈음에는 정신이 나가 있었습니다.

 

파이썬에 입문할 때, 퍼블릭 스테틱 보이드 메인이 없어 너무 좋습니다.

여러분도 저처럼 이런 기억 하나씩 갖고 계시겠죠?

오늘도 파이팅입니다!

댓글