Algorithm/Python
Python - 순열과 조합
yxemsy
2022. 2. 4. 11:26
1) 순열
서로 다른 n개에서 서로 다른 r개를 선택하여 일렬로 나열하는 것
- {'a', 'b', 'c'}에서 세 개를 선택하여 나열하는 경우, permutations 사용
from itertools import permutations
data = ['a', 'b', 'c']
result = list(permutations(data, 3))
print(result)
실행결과
[('a','b','c'), ('a','c','b'), ('b','a','c'), ('b','c','a'), ('c','a','b'), ('c','b','a')]
2) 조합
서로 다른 n개에서 순서에 상관없이 서로 다른 r개를 선택하는 것
- {'a', 'b', 'c'}에서 순서를 고려않고 두 개를 뽑는 경우, combinations 사용
from itertools import combinations
data = ['a', 'b', 'c']
result = list(combinations(data, 2))
print(result)
실행결과
[('a','b'), ('a','c'), ('b','c')]
참고: 이코테 2021 강의 동영상