AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

itertools의 combinations() 함수 이해 및 활용

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

개발 툴

대상자

  • Python 개발자 (중간 수준)
  • 반복자(Iterator)와 조합 알고리즘 활용이 필요한 프로젝트
  • 데이터 처리, 조합 생성, 순열 계산 등에 관심 있는 개발자

핵심 요약

  • itertools.combinations()iterable에서 중복 없이 모든 조합을 생성하는 반복자 함수
  • 매개변수

- iterable: 조합을 생성할 원소가 담긴 객체 (예: 'ABC', ['A', 'B', 'C'])

- r: 생성할 조합의 원소 개수 (예: r=2 → 2개의 원소로 구성된 조합)

  • 출력 예시

- r=1('A',), ('B',), ('C',)

- r=2('A', 'B'), ('A', 'C'), ('B', 'C')

섹션별 세부 요약

1. `combinations()`의 기본 개념

  • combinations()중복 없이 모든 가능한 조합을 순서 없이 생성
  • r=0일 경우 빈 튜플 ()만 반환
  • riterable의 길이보다 클 경우 빈 결과

2. `r=1`일 때의 예시

  • iterable='ABC'('A',), ('B',), ('C',)
  • r=1단일 원소로 구성된 조합만 생성

3. `r=2`일 때의 예시

  • iterable='ABC'('A', 'B'), ('A', 'C'), ('B', 'C')
  • 순서 없이 모든 두 원소의 조합 생성

4. `r=3`일 때의 예시

  • iterable='ABC'('A', 'B', 'C')
  • riterable의 길이와 같을 경우 하나의 조합만 생성

결론

  • itertools.combinations()중복 없이 모든 조합을 생성하는 데 유용
  • r 값 설정에 따라 조합의 크기를 조절할 수 있음
  • 데이터 분석, 조합 생성, 알고리즘 설계 등에 활용 가능