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
- STL
- 데이터사이언스
- 인프런
- OpenCV
- 연산자오버로딩
- C++
- OOP
- 포인터
- 제네릭프로그래밍
- 기본클래스
- 주피터
- 백준
- c++코딩테스트합격자되기
- 점프투파이썬
- 다형성
- 깊은복사
- 코드잇
- 유도클래스
- 11382번
- 코딩테스트
- python
- 멤버함수로구현
- 얕은복사
- 스택
- 람다식
- 프로그래머스lv2
- 참조자
- 상속
- list comprehension
- 동적바인딩
Archives
- Today
- Total
WjExplor Story
[점프 투 파이썬] 05-5 내장함수 map(f, iterable) 본문
# map(f, iterable) 함수
`map()` 함수는 자료구조가 아니라, 'map 객체'라는 특별한 종류의 **이터레이터(iterator)**를 반환하는 함수입니다.
### `map(f, iterable)` 함수란?
`map` 함수는 **iterable의 모든 요소(element)를 하나씩 꺼내서 함수 `f`에 적용한 후, 그 결과들을 묶어서 반환**하는 역할을 합니다. `for` 반복문을 쓰지 않고도 리스트의 모든 값에 특정 작업을 일괄적으로 처리하고 싶을 때 유용합니다.
- **문법:** `map(적용할_함수, 반복_가능한_자료형)`
### `map`의 특징: 이터레이터(Iterator)
`map`의 가장 큰 특징은 **결괏값을 미리 전부 계산해서 저장해두지 않는다**는 점입니다. 값이 필요할 때(예: `list()`로 변환 시) 그제서야 하나씩 계산해서 값을 만들어 줍니다. 이를 '지연 평가(Lazy Evaluation)'라고 하며, 대용량 데이터 처리 시 메모리를 효율적으로 사용할 수 있습니다.
### 예시 코드
**예시 1: 모든 숫자를 제곱하기**
```python
# 각 숫자를 제곱하는 함수
def square(n):
return n *
numbers = [1, 2, 3, 4]
# map 함수를 사용해 각 숫자에 square 함수 적용
# list()로 변환해야 실제 값들을 볼 수 있음
result_list = list(map(square, numbers))
print(result_list)
# 출력: [1, 4, 9, 16]
```
**예시 2: `lambda`를 사용해 더 간단하게 만들기**
numbers = [1, 2, 3, 4]
# lambda를 사용해 각 숫자를 2배로 만듦
result_list = list(map(lambda n: n * 2, numbers))
print(result_list)
# 출력: [2, 4, 6, 8]'Python > Python : Code Study' 카테고리의 다른 글
| 코드 포매팅(Code Formatting) 사용하기 (0) | 2025.09.19 |
|---|---|
| [점프 투 파이썬] 6강 파이썬 프로그래밍, 어떻게 시작해야 할까? (0) | 2025.09.19 |
| 팰린드롬 (0) | 2025.09.16 |
| 주민등록번호 가리기 (0) | 2025.09.15 |
| 자릿수 합 구하기 (0) | 2025.09.15 |