n개에서 k개 나열 시 순서를 가지고 나열한다.
from itertools import permutations
arr = ["A","B","C","D"]
print(list(permutations(arr,2)))
# [('A', 'B'), ('A', 'C'), ('A', 'D'), ('B', 'A'), ('B', 'C'),
# ('B', 'D'), ('C', 'A'), ('C', 'B'), ('C', 'D'), ('D', 'A'),
# ('D', 'B'), ('D', 'C')]
n개에서 k개 나열 시 순서를 가지며, 중복된 요소를 선택할 수 있다.
from itertools import product
arr = ["A","B","C","D"]
print(list(product(arr,repeat = 2)))
# [('A', 'A'), ('A', 'B'), ('A', 'C'), ('A', 'D'), ('B', 'A'),
# ('B', 'B'), ('B', 'C'), ('B', 'D'), ('C', 'A'), ('C', 'B'),
# ('C', 'C'), ('C', 'D'), ('D', 'A'), ('D', 'B'), ('D', 'C'),
# ('D', 'D')]
n개에서 k개 나열 시 순서에 상관없이 나열한다.
from itertools import combinations
arr = ["A","B","C","D"]
print(list(combinations(arr,2)))
# [('A', 'B'), ('A', 'C'), ('A', 'D'),
# ('B', 'C'), ('B', 'D'), ('C', 'D')]
n개에서 k개 나열 시 순서에 상관없으며, 중복된 요소를 선택할 수 있다.
from itertools import combinations_with_replacement
arr = ["A","B","C","D"]
print(list(combinations_with_replacement(arr,2)))
# [('A', 'A'), ('A', 'B'), ('A', 'C'), ('A', 'D'), ('B', 'B'),
# ('B', 'C'), ('B', 'D'), ('C', 'C'), ('C', 'D'), ('D', 'D')]