본문 바로가기
프로그래밍/Python

[Python] 순열(Permutation)과 조합(Combination) 구하기 - itertools

by 부자 꽁냥이 2022. 4. 22.

오늘은 itertools를 활용한 배열의 순열(Permutation)과 조합(Combination)을 계산하는 방법을 소개한다.

 

1. 순열(Permutation)

2. 조합(Combination)


   1. 순열(Permutation) - itertools.permutations

순열은 특정 집합에서 정해진 개수만큼 서로 다른 원소를 순서를 고려하여 나열하는 방법이다. 파이썬에서는 itertools의 permutations을 통하여 순열을 구할 수 있다.

 

사용방법은 다음과 같다.


permutations( 배열, 뽑는 개수 )


 

만약 집합 1, 2, 3, 4에서 2개를 뽑는 순열은 다음과 같이 구할 수 있다. 이때 결과는 바로 나오지 않는다. 왜냐하면 generator 형식으로 나오기 때문에 list나 tuple과 같이 써서 결과를 볼 수 있다.

 

from itertools import permutations

a = [1,2,3,4]
res = permutations(a, 2)
print(list(res)) # list와 같이 써야 결과를 볼 수 있다.

순열 결과(itertools.permutations)


   2. 조합(Combination) - itertools.combinations

조합(Combination)은 특정 집합에서 정해진 개수만큼 서로 다른 원소를 순서를 고려하지 않고 나열하는 것을 말한다.

 

파이썬에서 조합은 itertools 패키지에서 combinations를 이용하여 순열을 구할 수 있다. 사용방법은 다음과 같다.


combinations( 배열, 뽑는 개수 )


만약 집합 1, 2, 3, 4에서 2개를 뽑는 조합은 다음과 같이 구할 수 있다. 마찬가지로 결과는 바로 나오지 않기 때문에 list나 tuple과 같이 써서 결과를 볼 수 있다.

 

from itertools import combinations

a = [1,2,3,4]
res = combinations(a, 2)
print(list(res)) # list와 같이 써야 결과를 볼 수 있다.

 

조합 결과(itertools.combinations)


지금까지 꽁냥이의 글 읽어주셔서 감사합니다.

 


댓글


맨 위로