import itertools
alphabet = ['A', 'B', 'C'] # 문자열이나 range로도 가능
print([*itertools.permutations(alphabet)]) # 3개의 원소로 순열
print([*itertools.permutations(alphabet, 2)]) # 2개의 원소로 순열
print()
print([*itertools.combinations(alphabet, 2)]) # 2개의 원소로 조합
출력값
[('A', 'B', 'C'), ('A', 'C', 'B'), ('B', 'A', 'C'), ('B', 'C', 'A'), ('C', 'A', 'B'), ('C', 'B', 'A')]
[('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')]
[('A', 'B'), ('A', 'C'), ('B', 'C')]
Python Docs (itertools.permutations)
Python Docs (itertools.combinations)