Python의 itertools 모듈 이해하기
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
- Python 개발자 (중간 수준)
- 반복자(Iterator) 및 시퀀스 처리 효율성 향상을 위한 기술적 지식 필요
- 리스트, 튜플, 문자열과 같은 반복 가능한 데이터 구조를 다루는 개발자에게 유용
핵심 요약
count()
:start
와step
매개변수를 통해 무한히 수를 생성 (예:count(start=0, step=1)
)cycle()
: 주어진iterable
을 무한히 반복 (예:cycle('ABC')
→ 'A', 'B', 'C' 반복)repeat()
:object
를times
만큼 반복 (예:repeat('Hello', times=3)
→ 'Hello' 3회 반복)
섹션별 세부 요약
1. `count()` 함수
- 매개변수:
start
(기본값 0)과step
(기본값 1) - 예시:
count(start=-5, step=3)
→ -5, -2, 1, 4, 7, 10... - 데이터 타입:
int
,float
,complex
,bool
지원 - 중단 조건:
for
루프에서x == 5
시 반복 중단
2. `cycle()` 함수
- 매개변수:
iterable
(필수) - 기능:
'ABC'
와 같은 입력을 무한히 순환 (예:A → B → C → A → B → C...
) - 중단 조건:
count
변수로 반복 횟수 제어 (예: 8회 반복 시 중단)
3. `repeat()` 함수
- 매개변수:
object
(필수),times
(선택, 기본값 무한) - 기능:
times
설정 시 제한된 반복 (예:repeat('Hello', 3)
→ 3회 'Hello' 출력) - 예외 처리:
times
없이 사용 시StopIteration
발생
결론
- 무한 시퀀스 생성(
count()
)이나 반복 요소 처리(cycle()
,repeat()
)에 itertools 모듈을 활용 - 추가 기능 필요 시
pip install more-itertools
로 확장 가능 - 실무 예시: 데이터 생성, 테스트 케이스 반복, 무한 스크롤 처리 등에 활용 가능