Programmers 문제를 풀며 정렬, 배열 관련 문제 풀이에서 많이 보게되어 이해가 부족하여 정리하고자 한다.
1. Lambda 란?
파이썬에서의 lambda는 런타임에 생성해서 사용할 수 있는 '익명 함수' 이다. 함수형 프로그래밍 언어에서의 lambda와 같은 건 아니지만 map(), filter(), sort() 등에서 많이 사용되는 기능이다. lambda를 사용할 경우 필요한 곳에서 즉시 사용하고 버릴 수 있기 때문에 코드가 간결해지고 메모리가 절약된다.
2. Lambda 사용법
기본
lambda 인자리스트 : 표현식
예시
function = lambda x : x + 1
function(4)
# 5
3. map() 함수 활용
람다 함수의 장점은 map() 함수와 함께 사용될 때 진가를 발휘한다. map() 은 쉽게 말하면 짝을 이어주는 함수이다.
function = map(function, iterable,...)
첫 번째 인자 function는 함수의 이름이다. 두 번째 인자 iterable은 한 번에 하나의 멤버를 반환할 수 있는 객체이다.
(list, str, tuple)
map() 함수는 function을 iterable의 모든 요소에 대해 적용하고 function에 의해 변경된 iterator를 반환한다.
예시
a = [1,2,3,4]
b = [17,12,11,10]
list(map(lambda x, y:x+y, a,b))
#[18, 14, 14, 14]
4. filter() 함수
filter() 함수도 두 개의 인자를 가진다.
function = filter(function, iterable)
filter에 인자로 사용되는 function은 처리되는 각각의 요소에 대해 Boolean 값을 반환한다.
True를 반환하면 그 요소는 남게 되고, False를 반환하면 그 요소는 제거된다.
예시
foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
list( filter(lambda x: x % 3 == 0, foo) )
# [18, 9, 24, 12, 27]
5. sort() 함수
sort()와 sorted() 모두 정렬 함수이다.
문자열, 리스트, 튜플, 딕셔너리, 집합 구조에서 모두 사용 가능하고 정렬 기준이 되는 key값을 정하고
lambda와 함께 사용하면 된다.
schedule = sorted(schedule,key=lambda x : x[0])
# schedule 리스트를 원소들 중 0번째 인덱스를 key로 정렬하겠다는 의미이다.
[출처]
https://resilient-923.tistory.com/342
[Python] 파이썬 lambda 란?
이번 시간에는 파이썬 알고리즘을 풀 때, 그중에서도 정렬 문제를 풀 때 많이 보게 되는 lambda에 대해서 간단하게 정리해보려고 한다. lambda 란? lambda는 그리그 문자 중 11번째 글자이고, AWS서비스
resilient-923.tistory.com
'개발 (Development) > Python' 카테고리의 다른 글
[Python] try, except 문에서 Exception이 여러 개일 경우 (0) | 2024.04.17 |
---|---|
[Python] List Comprehension (0) | 2024.04.17 |
[Python] 리눅스 환경에서 윈도우 환경으로 파일 저장 (SMB 프로토콜) (0) | 2024.04.12 |
[Python] 실행 시간 측정 (0) | 2024.04.02 |
[Python] Zip (0) | 2023.04.19 |