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 | 31 |
Tags
- game
- AWS
- Bull
- 공룡게임
- dfs
- react
- Nest.js
- MySQL
- Express
- MongoDB
- jest
- 게임
- OCR
- 정렬
- Sequelize
- typeORM
- mongoose
- Python
- nestjs
- class
- TypeScript
- Dinosaur
- cookie
- Queue
- GIT
- 자료구조
- JavaScript
- nodejs
- flask
Archives
- Today
- Total
포시코딩
lambda, map() 본문
728x90
람다(lambda)
Javascript에서의 익명함수와 비슷하다.
lambda 표현식 : 매개변수
사용방법
def test(x, y):
return x + y
result = test(3, 4)
print(result)
test() 라는 함수를 위와 같이 만들어 쓴다고 했을 때 lambda를 사용하면 다음처럼 사용할 수 있다.
result = (lambda x, y : x + y)(3, 4)
print(result)
map()
다음은 map()에 대해 알아볼건데 코딩테스트 풀이방법으로도 lambda와 같이 한 세트로 자주 쓰이기 때문에
lambda를 배우며 같이 알아두면 좋다.
map(함수, 리스트)
함수와 리스트를 인자로 받은 후, 리스트에서 원소를 하나씩 꺼내 함수를 적용시킨 다음, 그 결과를 새로운 리스트에 담아 리턴한다.
여기서 함수를 만들어져 있는걸 써도 되지만 lambda 함수를 쓰면 새로 만들지 않아도 된다는 장점이 있다.
사용방법
result = map(lambda x : x * 2, range(1, 5))
print(result) # <map object>
range(1, 5)를 통해 [1, 2, 3, 4]에 대해 각각 * 2를 한 값을 리턴하는데
이러면 map object로만 리턴하기 때문에 list()로 감싸줘야 한다.
result = list(map(lambda x : x * 2, range(1, 5)))
print(result) # [2, 4, 6, 8]
정리
예시로 map() 함수와 같이 쓰는 법에 대해 알아봤는데
map() 뿐만 아니라 reduce(), filter() 등 같이 사용하기에 따라 활용 방법은 무궁무진하다.
이걸 왜 이제서야 알아봤을까라는 생각이 들 정도로 앞으로 유용하게 사용할 수 있을 것 같다.
도움받은 곳
728x90
'Python' 카테고리의 다른 글
[Python] max에 조건 달기 (0) | 2023.04.23 |
---|---|
집합 자료형 set (0) | 2022.12.27 |
enumerate(list)와 range(len(list)) 비교 (0) | 2022.12.25 |
zip() 함수로 데이터 엮기 (0) | 2022.12.20 |
공백을 메꿔주는 str.rjust, str.ljust, str.zfill (0) | 2022.12.20 |