728x90
반응형
순열(permutations)
- 서로 다른 n개에서 r개를 선택할 때, 순서를 고려하여 중복 없이 뽑을 경우
- nPr = n! / (n -r)!
- 만일 A, B, C에서 순서를 고려하여 중복 없이 2개의 쌍을 구한다면
- AB/AC/BA/BC/CA/CB
- 총 6가지
- 사용법
- permutations(객체, r)
- r = 반복 가능한 객체(list, tuple, 문자열) 안에서 선택할 개수
- 조건
- from itertools import permutations 선언
- return
- 객체
- 경우의 수에 대한 쌍을 tuple 형식으로 반환
- permutations(객체, r)
from itertools import permutations
arr = ['A', 'B', 'C']
nPr = permutations(arr, 2)
print(list(nPr)) # [('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')]
조합(combinations)
- 서로 다른 n개에서 r개를 선택할 때, 순서를 고려하지 않고 중복 없이 뽑을 경우
- nCr = n! / r! (n-r)!
- 만일 A, B, C에서 순서를 고려하지 않고 중복 없이 2개의 쌍을 구한다면
- AB/AC/BC
- 총 3가지
- 사용법
- combinations(객체, r)
- r = 반복 가능한 객체(list, tuple, 문자열) 안에서 선택할 개수
- 조건
- from itertools import combinations 선언
- return
- 객체
- 경우의 수에 대한 쌍을 tuple 형식으로 반환
- combinations(객체, r)
from itertools import permutations
arr = ['A', 'B', 'C']
nCr = combinations(arr, 2)
print(list(nCr)) # [('A', 'B'), ('A', 'C'), ('B', 'C')]
728x90
반응형
'Python' 카테고리의 다른 글
[Python] set() 함수 : 집합 (0) | 2023.02.08 |
---|---|
[Python] sort(), sorted()를 이용한 리스트 정렬 (0) | 2023.02.07 |
[Python] 함수 (function) (0) | 2023.02.03 |
[Python] 입출력 (Input/Output) (0) | 2023.02.03 |
[Anaconda] 윈도우 아나콘다에서 리눅스 명령어 실행 (0) | 2023.01.13 |