itertools.product
itertools.product 는 두개 이상의 리스트 / 집합끼리의 데카르트 곱을 계산해 iterator로 return
import itertools
A = [1, 2, 3]
print(list(itertools.product(A, repeat=2)))
# [(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]
A = [[1, 2, 3], [4, 5]]
print(list(itertools.product(*A)))
# [(1, 4), (1, 5), (2, 4), (2, 5), (3, 4), (3, 5)]
A = [1, 2, 3]
B = [4, 5]
print(list(itertools.product(A, B)))
# [(1, 4), (1, 5), (2, 4), (2, 5), (3, 4), (3, 5)]
Python
복사
itertools.permutation, itertools.combination
itertools.permutations 과 itertools.combinations은 간단하게 순열과 조합을 구현할 수 있는 파이썬 패키지이다.
from itertools import permutations
a = [1,2,3]
permute = permutations(a,2)
print(list(permute))
"""출력"""
[(1,2),(1,3),(2,1),(2,3),(3,1),(3,2)] # 순서만 다른 요소가 같은 튜플도 포함
from itertools import combinations
a = [1,2,3]
combi = combinations(a,2)
print(list(combi))
"""출력"""
[(1,2),(1,3),(2,3)] # 같은 요소 포함이면 하나의 튜플로 취급
Python
복사