728x90
반응형
맨 위로 올라가기
람다

 

"람다(lambda)" 라는 용어는 람다 계산 법(lambda calculus)에서 유래된 것입니다.

람다 계산법은 수학과 컴퓨터 과학 분야에서 중요한 개념으로, 함수를 계산하는 방법론을 제공합니다.

 

람다 계산법에서는 람다는 함수를 나타내는 기호입니다.

람다 계산법에서 함수는 입력을 받아서 출력을 반환하는 계산 규칙이며,

이러한 함수를 람다 표현식(lamda expression)이라고 합니다.

람다 표현식은 람다 기호와 입력 변수, 그리고 함수의 몸체(body)로 구성됩니다.

 

파이썬에서의 람다식(lambda expression)은 람다 계산법에서 유래된 용어를 사용한 것입니다.

람다식은 함수를 간단하게 정의하는 방법 중 하나로, 람다 기호를 사용하여 작성합니다.

 

람다 계산법(lambda calculus)은 수학자 알론조 처치(Alonzo Church)가 1930년대에 개발한 것으로 알려져 있습니다.

처치는 이론적인 컴퓨팅 기계인 람다 계산기(lambda machine)를 제안했으며,

이를 바탕으로 함수를 정의하고 계산하는 방법을 제시하였습니다.

 

람다 계산법은 컴퓨터 과학 분야에서 함수형 프로그래밍(functional programming)의 기초 개념으로 사용되며,

수학, 논리학, 언어학 등 다양한 분야에서 응용됩니다. 또한 람다 계산법은 현대 컴퓨터 언어들의 기반이 되는

중요한 개념으로 여겨 지고 있습니다.

 


람다식(lambda expression)

 

파이썬의 람다식(lambda expression)은 함수를 간단하게 정의하는 방법 중 하나입니다.

람다식은 람다 함수(lambda function)라고도 불립니다.

 

람다식은 'lambda' 키워드를 사용하며 정의되며, 일반적으로 한 줄로 간단하게 작성됩니다.

예를 들어, 두 개의 인수를 받아 더한 결과를 반환하는 람다식은 다음과 같이 작성할 수 있습니다.

lambda x, y: x + y

 

위의 람다식은 'x'와 'y'라는 두 개의 인수를 받아 더한 결과를 반환합니다.

이 람다식을 실행하기 위해서는 'x'와 'y'에 각각 값을 전달하면 됩니다.

 

예를 들어, 'x'에 2를 'y'에 3을 전달하여 두 숫자를 더한 결과를 출력하려면 다음과 같이 작성합니다.

(lambda x, y: x + y)(2, 3)

 

위 코드는 '2 + 3'을 계산하여 결과인 '5'를 반환합니다.

 

람다식은 함수를 간단하게 정의하고 사용할 때 유용합니다.

람다식은 함수를 정의하지 않고도 바로 사용할 수 있으므로, 간단한 연산을 수행할 때 매우 유용합니다.

 

https://dojang.io/mod/page/view.php?id=2359


1. 리스트에서 홀수만 필터링하는 함수를 작성하시오.

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]

odd_numbers = list(filter(lambda x: x % 2 == 1, numbers))

print(odd_numbers)  # [1, 3, 5, 7, 9]

 

위 코드에서 'filter' 함수를 사용하여 리스트에서 홀수만 필터링하였다.

'lambda' 함수를 사용하여 각 요소가 홀수인지 여부를 판별하였다.

 

 

2. 리스트의 요소를 제곱하는 함수를 작성하시오.

numbers = [1, 2, 3, 4, 5]

squared_numbers = list(map(lambda x: x ** 2, numbers))

print(squared_numbers)  # [1, 4, 9, 16, 25]

 

위 코드에서 'map'함수를 사용하여 리스트의 각 요소를 제곱하였다.

'lamda' 함수를 사용하여 각 요소를 제곱하는 함수를 정의하였다.


 

728x90
반응형

'Language > Python' 카테고리의 다른 글

I/O Model  (0) 2023.11.08
Context Manager  (0) 2023.11.08
Move average  (0) 2022.11.25
Basic Qt Code  (0) 2022.10.26
Basic Qt  (0) 2022.10.26

+ Recent posts