본문 바로가기
PYTHON

파이썬[python] 콤비네이션 모듈(combinations) 알아보기

by 꾸꾸까까DEV 2022. 8. 19.
반응형

개발을 하다보면 로또와 같이 총 A개의 값중 B개를 선택할때 나오는 경우의 수를 뽑아내야 하는 경우가 있다. 

이 때 A 콤비네이션 B 값을 계산하여야한다. 루프를 돌려 계산할 수 도 있지만, 막상 직접 구현하려하면, 좀 생각을 해야한다.

 

생각하기 싫다면, 바로 combinations 모듈을 사용하면 된다. 

 

 
 

목차

  1. combinations 패키지 로딩방법
  2. combinations 사용방법
  3. combinations 활용함수

 

 

1. combinations 패키지 로딩방법

콤비네이션 모듈를 이용하려면, import 부터 해야 한다.

아래와 같이 itertools 안에 combinations를 import 한다. 

from itertools import combinations

 

 

2. combinations 사용방법

콤비네이션 모듈의 사용 방법은 아주 간단하다

combinations( {리스트 데이터} , {뽑을갯수} )

파라미터로 숫자로 된 리스트를 넣고 실행하면, 

위와 같이 itertools.combinations 데이터형 값이 나온다. 

실제 데이터를 확인하려면, 아래와 같이 리스트형으로 변환하면 볼 수 있다.

 

 

 

3. combinations 활용함수

이제 nCr 을 계산하는 로직을 간단한 함수로 만들어서 활용해보자

 

 

def comb(n, r):# 콤비네이션 값 생성    
    items = [i for i in range(1, n + 1)]
    combi = list(combinations(items, r))
    return len(combi)

함수를 실행해보면, 아래와 같이 경우의 수를 간단하게 구할수 있다.

이제 로또의 경우의 수를 구해보자.

아주 간단하다 n 에 45, r 에 6을 넣고 계산하면 끝

 

반응형