꾸준히 기록하자

[Python] combinations 본문

IT/Python

[Python] combinations

seungwonlee 2022. 12. 28. 17:26
728x90

조합(Combination)에 대해 간략하게 알아보도록 하겠습니다.

 

조합은 서로 다른 n개의 물건들 중 r개를 뽑아 순서가 없이 나열한 것이며 기호로 nCr와 같이 나타내고 중복은 불가능합니다.

 

nCr의 팩토리얼을 이용한 계산 nPr/r! 즉  n!/(n-r)!/r!입니다.

3개의 물건 중에 2개를 뽑은 경우의 수는 3입니다.

nCr = 3!/(3-2)!/2! 즉 3 x 2 x 1 / (1) / 2 x 1로 6 / 2 = 3

* 0! 은 1입니다.

 

1. 아래 코드 블록 itertools 라이브러리를 사용하여 작성한 코드입니다.

from itertools import combinations

test_list = ['A', 'B', 'C']

result = list(combinations(test_list, 2))
print(result)
# 결과: [('A', 'B'), ('A', 'C'), ('B', 'C')]
print(len(result))
# 결과: 3

조합에서는 ('A', 'B')와 ('B', 'A')는 같은 것으로 봅니다.

 

조합에 대해 간략하게 알아보았습니다.

 

끝.

반응형

'IT > Python' 카테고리의 다른 글

[Python] isdigit() and isalpha()  (0) 2023.05.30
[Python] find()  (0) 2023.01.26
[Python] permutations  (0) 2022.12.07
[Python] Counter()  (0) 2022.12.06
[Python] Built-in Functions  (0) 2022.12.01
Comments