iterable 객체에서 r개의 데이터를 뽑아 나열
from itertools import permutations
num = [1, 2, 3]
res = list(permutations(num, 2))
print(res)
# res
# [(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]
iterable 객체에서 r개의 데이터를 선택해 순서 상관없이 나열
from itertools import combinations
num = [1, 2, 3]
res = list(combinations(num, 2))
print(res)
# res
# [(1, 2), (1, 3), (2, 3)]
iterable 객체에서 r개의 데이터를 뽑아 나열
- 같은 원소 중복 선택 가능 (다시 뽑기)
from itertools import product
num = [1, 2, 3]
res = list(product(num, repeat=2))
print(res)
# res
# [(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]
iterable 객체에서 r개의 데이터를 선택해 순서 상관없이 나열
- 같은 원소 중복 선택 가능 (중복 선택)
from itertools import combinations_with_replacement
num = [1, 2, 3]
res = list(combinations_with_replacement(num, 2))
print(res)
# res
# [(1, 1), (1, 2), (1, 3), (2, 2), (2, 3), (3, 3)]