파이썬 람다 (lambda) 함수 예제
반응형
C언어에서 파이썬으로 넘어왔을 때 제일 이해하기 어려웠던 부분이 람다(lambda) 함수를 사용하는 것이었습니다. 저 같은 어려움을 느끼는 분들을 위해 이번 포스팅에서는 람다함수에 대해서 알아보겠습니다.
파이썬 람다 lambda 함수 뜻
lambda function is a small anonymous function. 람다 함수는 익명함수를 뜻합니다. 특정한 기능을 수행하는 함수를 한 줄로 작성할 수 있어서 간편하고, map, filter, reduce와 함께 쓰이면 빛나는 역할을 하는 함수입니다. def를 사용하지 않고, 함수를 정의하고, 여러 매개변수 사용이 가능하지만, 표현식은 하나만 사용할 수 있다는 점이 특징입니다.
lambda 매개변수(arguments) : 표현식(expression)
알고리즘 정렬 문제에서 key 값을 설정할 때 lambda 함수를 이용하면 더욱 디테일한 설정이 가능합니다.
python 람다함수 예제
def add(a,b):
return a+b
print((lambda a,b: a+b)(2,5))
lambda a,b: a+b에서 a,b부분이 매개변수 부분이고, a+b부분이 표현식 부분입니다. def함수에서 함수 이름대신 lambda를 사용하고, 매개변수는 앞에 쓰고, return부분을 뒤에 써주면 됩니다.
sort 함수 key lambda 사용 예제
이전에 sort 함수에서 key 값으로도 lambda를 사용할 수 있다고 설명했는데요, 아래 코드와 같이 사용할 수 있습니다. 아래 예제는 과일 이름과 과일 가격을 받아서, 가격 오름차순으로 정렬하는 코드입니다.
n = 5
arr = []
for i in range(n):
input_data = input().split()
arr.append((input_data[0], int(input_data[1])))
# 과일 가격으로 정렬
arr= sorted(arr, key = lambda fruits: fruits[1])
for fruit in arr:
print(fruit[0], end=' ')
# apple 5
# banana 3
# kiwi 4
# pear 7
# lemon 2
# 결과: lemon banana kiwi apple pear
lambda 매개변수: 표현식
map 함수 lambda 사용 예제
li = [1,2,3,4]
li2 = list(map(lambda a: a*2, li))
print(li2)
#[2, 4, 6, 8]
li의 값을 받아서 2배를 만들어 새로운 리스트 li2를 만드는 예제입니다.
filter 함수 lambda 사용 예제
li = [75,80,20,30,55,11,40]
#50보다 큰 수를 가지는 값 filter
filtered_li = list(filter(lambda a:a>50, li))
print(filtered_li)
#[75, 80, 55]
li 값에서 50보다 큰 수를 필터링해서 새로운 리스트 filtered_li를 만드는 예제입니다.
반응형
'컴퓨터 IT > Python' 카테고리의 다른 글
파이썬 기초 다지기 for 데이터 분석 (0) | 2023.05.30 |
---|---|
나만 모르는 파이썬 replace 꿀팁 (0) | 2023.02.18 |
파이썬 리스트 입출력, 초기화의 모든 것 (2) | 2022.11.04 |
파이썬 다익스트라 2가지 방법으로 구현 (for, heapq) (0) | 2022.10.09 |
파이썬 다이나믹 프로그래밍 잘하는법 (0) | 2022.10.04 |
댓글
이 글 공유하기
다른 글
-
파이썬 기초 다지기 for 데이터 분석
파이썬 기초 다지기 for 데이터 분석
2023.05.30 -
나만 모르는 파이썬 replace 꿀팁
나만 모르는 파이썬 replace 꿀팁
2023.02.18 -
파이썬 리스트 입출력, 초기화의 모든 것
파이썬 리스트 입출력, 초기화의 모든 것
2022.11.04 -
파이썬 다익스트라 2가지 방법으로 구현 (for, heapq)
파이썬 다익스트라 2가지 방법으로 구현 (for, heapq)
2022.10.09