Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 코딩테스트
- 데이터 엔지니어링
- Tensor
- 추천 시스템
- Python
- 프로그래머스
- Cosine-similarity
- 백준
- TF-IDF
- 코테
- recommendation system
- 데이터
- 추천시스템
- 웹크롤링
- 파이썬
- coursera
- SGD
- 분산 시스템
- selenium
- 머신러닝
- 부스트캠프
- 알고리즘
- wordcloud
- Overfitting
- codingtest
- 웹스크래핑
- pytorch
- 협업 필터링
- 딥러닝
- 시각화
Archives
- Today
- Total
개발자식
[Python] 순열과 조합 (Permutation and Combination) 본문
순열 (Permutation)
: 서로 다른 n개에서 r개를 선택할 때 순서를 고려하여 선택한 경우의 수를 나열하는 방법 (중복 허용x)
- nPr (0 <= r <=n)
- 순서를 고려한다는 것은 AB와 BA를 서로 다른 것이라고 여기는 것
- nPr = n * (n-1) * (n-2) * .... *(n-r+1)
- nPr = n! / (n-r)!
from itertools import permutations
iterator = [1, 2, 3, 4]
for i in permutations(iterator, 2):
print(i)
(1, 2)
(1, 3)
(1, 4)
(2, 1)
(2, 3)
(2, 4)
(3, 1)
(3, 2)
(3, 4)
(4, 1)
(4, 2)
(4, 3)
조합 (Combination)
: 서로 다른 n개에서 r개를 선택할 때 순서를 고려하지 않고 선택한 경우의 수를 나열하는 방법
- nCr
- 순서를 고려한다는 것은 AB와 BA를 서로 같은 것이라고 여기는 것
- nCr = n * (n-1) * (n-2) * .... *(n-r+1) / r * (r-1) * (r-2) * ...* 2 * 1
- nCr = n! / r! (n-r)!
from itertools import combinations
iterator = [1, 2, 3, 4]
for i in combinations(iterator, 3):
print(i)
(1, 2, 3)
(1, 2, 4)
(1, 3, 4)
(2, 3, 4)
중복 순열
: 반복 가능한 객체에 대해서 중복을 허용한다.
from itertools import product
iterator1 = ['A', 'B', 'C']
iterator2 = ['1', '2', '3']
for i in product(iterator1, iterator2, repeat=1):
print(i)
('A', '1')
('A', '2')
('A', '3')
('B', '1')
('B', '2')
('B', '3')
('C', '1')
('C', '2')
('C', '3')
'Data > Python' 카테고리의 다른 글
[Python] 함수(function)와 변수(variable) (2) | 2022.09.22 |
---|---|
[크롤링] 웹 크롤링_Open API 활용 (0) | 2022.03.31 |
[크롤링] 웹 크롤링, 네이버 금융TOP (0) | 2022.03.30 |
[크롤링] 무한 스크롤 웹 스크래핑(Selenium) (0) | 2022.03.30 |
[크롤링] Post request 기반의 웹사이트 크롤링 (0) | 2022.03.30 |
Comments