본문 바로가기
Study/Python

[Python] itertools 라이브러리 사용법 (조합, 순열, 데카르트 곱)

by ngool 2024. 11. 13.

Python의 'itertools' 라이브러리는 간단하게 조합, 순열, 데카르트 곱을 구할 수 있는 라이브러리입니다.

이번 포스팅에서는 itertools의 각 함수가 어떻게 동작하는지 살펴보고, 활용 예제를 통해 이해해보겠습니다.


📌 순열(permutations)

순열은 주어진 리스트에서 요소들의 가능한 모든 순서를 계산합니다.

코드

from itertools import permutations

data = ['A', 'B', 'C']
result = list(permutations(data, 2))  # 2개씩 순서 있게 뽑기
print(result)

결과

[('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')]

📌 조합(combinations)

조합은 주어진 리스트에서 순서와 관계없이 특정 개수만큼의 요소를 뽑습니다.

코드

from itertools import combinations

data = ['A', 'B', 'C']
result = list(combinations(data, 2))  # 2개씩 조합 뽑기
print(result)

결과

[('A', 'B'), ('A', 'C'), ('B', 'C')]

📌 데카르트 곱(product)

데카르트 곱여러 리스트에서 가능한 모든 조합을 계산합니다.

코드

from itertools import product

data1 = [1, 2]
data2 = ['A', 'B']
result = list(product(data1, data2))
print(result)

결과

[(1, 'A'), (1, 'B'), (2, 'A'), (2, 'B')]