728x90
728x90
Lambda 함수
이름없는 함수, 람다표현식을 익명함수(anonymous function)
함수를 따로 선언하지 않고, lamba식으로 대체함
예를 들어 매개변수 x에 10을더한 값을 반환하는 함수를 만든다고 하면
사용법
이렇게 할텐데 이렇게 간단한 식일때는 lambda함수로 코드를 한줄로 줄일 수 있따.
이렇게 간단하게 표현하면 뭐가 좋은가?
코드가 간단해질 뿐만 아니라 메모리를 덜 잡아먹는다.
원래 함수를 선언하면 그 함수자체를 메모리에 할당하는데
lambda함수를 쓰면 한번만 사용하고 사라지기 때문에 메모리를 효율적으로 쓸 수 있다.
응용
람다를 언제 사용하면 될까?
내가 자주 본 것은 sorted()함수를 사용할 때이다.
정렬하는 기준을 잡을때 lambda를 가지고 변형한 값 만든 후, 이 값을 기준으로 잡는 것이다.
- 오름차순 정렬 : sorted(a,key=lambda x:x[0])
- 내림차순 정렬 : sorted(a,key=lambda x:-x[0])
예를 들어 list를 그냥 sorted로 정렬하면, 리스트아이템의 요소들을 순서대로 정렬한다.
이와 마찬가지로 정렬하는 key를 튜플의 첫번째 값으로 지정할 수 있다
그렇다면 key를 튜플의 두번째 값으로 지정하고 싶다면?
참고
참고한 블로그 링크
https://velog.io/@aonee/Python-%EC%A0%95%EB%A0%AC-sort-sorted-reverse
728x90
반응형
'🍃 Language > Python' 카테고리의 다른 글
[Python] 파이썬 enumerate 활용법 | for문을 파이썬스럽게 (0) | 2021.05.26 |
---|---|
[Python] 문자열찾기 | find/startswith/endswith (0) | 2021.05.25 |
[Python] zip으로 index랑 values를 합쳐서 dict만든다 (0) | 2021.05.25 |
[Python] 코딩테스트에 자주쓰이는 함수 (정렬, 문자열, 숫자, 리스트 ) (0) | 2021.05.18 |
[Python] 큐(Queue), 스택(Stack) (0) | 2021.05.15 |
[Python] 해쉬(Hash Table) (0) | 2021.05.15 |