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')]
'Study > Python' 카테고리의 다른 글
[Python] 출력 성능 비교: 매번 출력 vs 결과 저장 후 한 번에 출력 (0) | 2024.09.10 |
---|---|
[Python] 비트 연산 (0) | 2024.08.31 |
[Python] 컴퓨터가 음수를 관리하는 방법 (2의 보수) (0) | 2024.08.31 |
[Python] 예외(exception)와 예외처리(exception handling) (1) | 2024.08.08 |