사진찍는 개발자📸👩‍💻

[파이썬/Python] 순열(permutation)과 조합(combination) 본문

develop/Python

[파이썬/Python] 순열(permutation)과 조합(combination)

hsleeee 2023. 2. 25. 18:52
반응형
SMALL

파이썬의 기본 라이브러리인 itertools를 사용하면 리스트의 조합을 구할 수 있다.

from itertools import permutations #순열
from itertools import combinations #조합

 

 

1. permutations(순열)

-> 하나의 리스트에서 모든 조합 계산

-> 몇 개를 골라 순서를 고려하여 나열한 경우의 수

-> 서로 다른 n개 중 r개를 골라 순서를 정해 나열하는 가짓수

-> 순서를 고려하여 나열하기 때문에 (A, B) 와 (B, A)는 다른 값이 된다.

from itertools import permutations

array = ['A', 'B', 'C']
result = permutations(array, 2)
print(list(result)) # 	[('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')]

2. combinations(조합)

-> 하나의 리스트에서 모든 조합 계산

-> 서로 다른 n 중에서 r개를 취하여 그룹을 만들 때, 각가의 그룹을 n개 중에서 r개 취한 조합

-> 순서를 고려하지 았는다

from itertools import combinations

array = ['A', 'B', 'C']
result = combinations(array, 2)
print(list(result)) # [('A', 'B'), ('A', 'C'), ('B', 'C')]
반응형
LIST