Python고급 주제

itertools 기본

반복 데이터를 조합하고 연결하고 누적하는 작업을 더 효율적으로 표현하는 Python `itertools` 기본 카드입니다.

마지막 수정 2026년 3월 19일

기본 패턴

python
from itertools import chain, combinations

merged = list(chain([1, 2], [3, 4]))
pairs = list(combinations(["a", "b", "c"], 2))

설명

  • itertools는 반복 처리와 조합 계산을 위한 표준 라이브러리 도구 모음입니다.
  • 여러 iterable을 이어 붙이거나, 조합을 만들거나, 누적값을 계산하는 작업을 효율적으로 표현할 수 있습니다.
  • 반복문으로 직접 구현할 수 있는 로직도 itertools를 쓰면 의도가 더 분명해지는 경우가 많습니다.
  • 특히 큰 데이터를 한 번에 만들지 않고 순차적으로 처리하는 흐름과 잘 어울립니다.

짧은 예제

python
from itertools import chain

for value in chain(range(3), range(3, 5)):
    print(value)

빠른 정리

도구역할
chain여러 iterable 연결
combinations조합 생성
product카테시안 곱
iterator 기반순차 처리와 메모리 절약에 유리

공식 참고: itertools — Functions creating iterators for efficient looping

주의할 점

itertools는 강력하지만 처음 보면 추상적으로 느껴질 수 있습니다. "무엇을 반복문으로 직접 쓰고 있었는가"를 떠올리면서 대응시켜 읽으면 더 빨리 익힐 수 있습니다.