Python | itertools 활용하기 (product, permulations, combinations)

2024. 9. 19. 21:10·STUDY/파이썬
 

itertools — Functions creating iterators for efficient looping

This module implements a number of iterator building blocks inspired by constructs from APL, Haskell, and SML. Each has been recast in a form suitable for Python. The module standardizes a core set...

docs.python.org

Python으로 코딩테스트를 풀면서 한번쯤 마주하게 되는 itertools 라이브러리에 대해 정리하고자 한다.

 

- Product

데카르트 곱(cartesian product), 중첩된 for 문과 동일

관계 대수의 product를 생각하면 됨

product('ABCD', repeat=2)

# 결과
AA AB AC AD BA BB BC BD CA CB CC CD DA DB DC DD

 

- Permultations (순열)

몇 개를 골라 순서를 고려해 나열한 경우의 수

서로 다른 n개 중 r개를 골라 순서를 정해 나열할 수 있는 개수

permutations('ABCD', 2)

# 결과
AB AC AD BA BC BD CA CB CD DA DB DC

 

- Combinations (조합)

서로 다른 n개 중에 r개를 골라서 만드는데, 속한 요소가 같다면 동일한 것으로 계산

(e.g. (A,B)와 (B,A) 두 그룹의 경우 같은 요소로 구성되어 있기 때문에 1개만 count)

combinations('ABCD', 2)

# 결과
AB AC AD BC BD CD

 

원소의 개수가 r개인데, 중복 조합을 뽑을 수 있는 함수도 있다.

combinations_with_replacement('ABCD', 2)

# 결과
AA AB AC AD BB BC BD CC CD DD
반응형

'STUDY > 파이썬' 카테고리의 다른 글

Colab 한글 깨짐 에러 해결 방법  (1) 2024.12.10
'STUDY/파이썬' 카테고리의 다른 글
  • Colab 한글 깨짐 에러 해결 방법
진미
진미
  • 진미
    ABC
    진미
  • 전체
    오늘
    어제
    • 분류 전체보기 (64)
      • PROJECT (3)
      • ALGORITHM (43)
      • STUDY (3)
        • 리액트 (7)
        • 파이썬 (2)
      • 기타 (4)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
    • 설정
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
진미
Python | itertools 활용하기 (product, permulations, combinations)
상단으로

티스토리툴바