티스토리 뷰

[문법] 파이썬(Python)

[기초] 6강. lambda 함수

으나니머스 2025. 1. 6. 19:53
반응형

오늘은 람다 형식과 그것을 이용하는 여러 가지 함수들에 대해서 알아보겠습니다. 

lambda 매개변수 : 표현식

 

다음은 두 수를 더하는 함수입니다.

>>> def hap(x, y):
...   return x + y
...
>>> hap(10, 20)
30

이것을 람다 형식으로는 다음과 같이 표현합니다.

>>> (lambda x,y: x + y)(10, 20)
30

너무나 간단해졌습니다.

몇 가지 함수를 더 배워보면서 람다가 어떻게 이용되는지 알아보도록 하죠.

 

map()

먼저 map 함수를 보겠습니다.

map(함수, 리스트)

이 함수는 함수와 리스트를 인자로 받습니다. 그리고, 리스트로부터 원소를 하나씩 꺼내서 함수를 적용시킨 다음, 그 결과를 새로운 리스트에 담아준답니다. 

>>> map(lambda x: x ** 2, range(5))             # 파이썬 2
[0, 1, 4, 9, 16]  
>>> list(map(lambda x: x ** 2, range(5)))     # 파이썬 2 및 파이썬 3
[0, 1, 4, 9, 16]

위의 map 함수가 매개변수로 받은 함수는 lambda x: x ** 2구요, 리스트로는 range(5)를 받았습니다.

range 함수는 range(5) 라고 써주면 [0, 1, 2, 3, 4]라는 리스트를 돌려줍니다.

그리고 x ** 2 라는 것은 x 값을 제곱하라는 연산자입니다.

 

map 함수는 리스트에서 원소를 하나씩 꺼내서 함수를 적용시킨 결과를 새로운 리스트에 담아주니까, 위의 예제는 0을 제곱하고, 1을 제곱하고, 2, 3, 4를 제곱한 것을 새로운 리스트에 넣어주는 것입니다.

 

filter()

그 다음은 filter를 살펴볼 차례입니다. 

filter(함수, 리스트)

파이썬의 필터는 이렇게 생겼는데요, 리스트에 들어있는 원소들을 함수에 적용시켜서 결과가 참인 값들로 새로운 리스트를 만들어줍니다. 다음은 0부터 9까지의 리스트 중에서 5보다 작은 것만 돌려주는 예제입니다.

>>> filter(lambda x: x < 5, range(10))       # 파이썬 2
[0, 1, 2, 3, 4]  
>>> list(filter(lambda x: x < 5, range(10))) # 파이썬 2 및 파이썬 3
[0, 1, 2, 3, 4]
 

 

0부터 9까지의 리스트에서 숫자를 하나씩 꺼냅니다.

그 숫자를 x라 하고, x < 5 가 '참'이면 살려줍니다.

살아남은 것들은 새로운 리스트에 넣어줍니다. 끝.

자, 이번엔 홀수만 돌려주는 filter를 만들어 보도록 합시다.

짝수는 2로 나누어 떨어지는 수이고, 홀수는 2로 나누어 떨어지지 않는 수입니다.

짝수를 2로 나눈 나머지는 0이고, 홀수를 2로 나누면 나머지가 1이죠.

또, 나머지를 구할 땐 %라는 연산자를 쓰면 됩니다.

예를 들어서, 50을 8로 나누면 몫은 6이고 나머지는 2니까 50 % 8은 2가 되는 거지요.

이제 홀수를 돌려주는 필터를 만들어 보겠습니다.

>>> filter(lambda x: x % 2, range(10))        # 파이썬 2
[1, 3, 5, 7, 9]  
>>> list(filter(lambda x: x % 2, range(10)))  # 파이썬 2 및 파이썬 3
[1, 3, 5, 7, 9]

지난 시간에 '참'은 1이고 '거짓'은 0이라고 했죠? 위의 filter 함수를 실행시키면,

0을 2로 나눈 나머지는 0이니까 람다 함수의 결과값은 0이고, 0은 '거짓'이니까 버려집니다.

1을 2로 나눈 나머지는 1이니까 람다 함수의 결과값은 1이고, 1은 '참'이니까 통과합니다.

 

 

https://www.mycompiler.io/ko/new/python

 

새 Python 프로그램 만들기 - 마이컴파일러 - myCompiler

실행 코드 코드 저장 기존 코드를 유지하시겠습니까? 에디터에 코드가 있는 동안 언어를 전환하려고 합니다. 이를 유지하려면 “기존 코드 유지”를 선택합니다. 예제로 바꾸려면 “예제로 바

www.mycompiler.io

 

위 사이트에서는 별도의 파이썬프로그램 설치 없이도 파이썬 코드를 작성하고 실행시켜 볼 수 있습니다.

 

위 파이썬 코드컴파일러 웹사이트에서 직접 파이썬의 람다함수 개념에 대해 아래와같이 연습해볼 수 있습니다.

 

 

 

출처: wikidocs

반응형

'[문법] 파이썬(Python)' 카테고리의 다른 글

[중급] 8강. 모듈  (0) 2025.01.06
[기초] 7강. 자료형  (1) 2025.01.06
[기초] 5강. 함수  (0) 2024.09.18
[기초] 4강. 반복문2 - while  (0) 2024.09.18
[기초] 3강. 반복문1 - for문  (0) 2024.09.18