꾸준히 기록하자
[Python] combinations 본문
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