Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- DLInear
- RL
- node.js
- 엠프로
- transformer
- 강화학습
- 오토트레이딩
- 제발쉽게좀가르치자
- 흥미붙이기
- DL
- DataProcessing
- socket.io
- de
- AI
- 프로바이오틱스
- 도커로 깃블로그 만들기
- HY7714
- NLinear
- TimeSeries
- 벨만방정식
- ML
- mlflow
- MPRO
- YOLO
- 프레딧
- pandas
- express
- 불법마약특별단속 #부산지방경찰청
- 강화학습으로주식하기
- LTSF
Archives
- Today
- Total
상황파악
파이썬 - 람다 (lambda) 본문
저번시간에 제너레이터를 배웠다.
그렇다면 람다는 또 무엇인가?
=> 함수를 한줄로 표현할 수 있지만 변수 선언은 못하는 함수표현식
직접보는게 이해가 빠를것이다
def sum(a,b):
retrun a+b
sum(1,2)
# 3
일반적인 덧셈 함수이다
사실 별 기능을 하지 않는 함수는 오히려 실행속도에 방해를 하기때문에 다음과 같은 방식은 권장하지 않는다
그렇다면 위 함수를 람다로 표현하면 어떻게 나타낼수 있는가?
# 자체 호출
(lambda a,b: a+b)(1,2)
# 3
sum = lambda a,b: a+b
sum(1,2)
# 3
즉, def 함수명: 해당 부분이 사라지는 것이고 매개변수를 앞에, 리턴값을 뒤에 쓰는 표현식이다
하지만 간단한 만큼 제약이 많을 수 밖에 없다
람다 표현식은 변수를 만들 수 없다
상수를 참조하는 함수를 람다로 표현하려면 어떻게 해야 할까?
a = 1
(lambda b: a+b)(2)
# 3
람다를 쓰기 전에 선언하면 된다
사실 아직까지 너무 당연한 말을 해서 이게 얼마나 효과적인지 알 수 없다
파이썬에서 상당히 많이 사용하는 map 함수를 통해 lambda의 사용법을 익혀가자
우선 map함수는 기본적으로 다음과 같은 형태를 가지고 있다
map(함수, 리스트)
우측에 있는 리스트 요소들을 순차적으로 함수에 넣겠다는 뜻이다
아마 파이썬을 많이 사용해본 사람이라면 반복문에서의 파이썬의 효율이 얼마나 뛰어난지 알 것이다
예시를 보자
map(lambda a: a * 2, range(9))
# 2, 4, 6, 8, 10, 12, 14, 16, 18
구구단 2단을 출력할 수 있다
이외에도 reduce(), filter() 등등 다양한 방법으로 응용할 수 있다
'파이썬' 카테고리의 다른 글
파이썬 - 제너레이터 (Generator) (0) | 2021.01.04 |
---|---|
Python pandas 간단 설명 (0) | 2019.11.30 |