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 강의 동영상