python

[Python] 순열, 조합

딸기케잌🍓 2021. 4. 6. 23:19

파이썬에서 만들어준 표준 라이브러리 itertools를 사용할 수 있다.

 

조합

combinations(iterable 객체, r)

조합을 구할 때 사용되는 메소드로 iterable 객체에서 r개를 뽑아 조합을 만든다.

한 리스트에서 중복을 허용하지 않는 모든 조합의 경우의 수를 구한다.

   from itertools import combinations
  
   mylist=[1,2,3,4]
   combi = list(combinations(mylist,2))
   print(combi)
   
   # 결과
   # [(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]

 

순열

permutations(iterable 객체, r)

iterable 객체에서 중복을 허용하여 r개를 뽑아 모든 경우의 수를 구한다.

   from itertools import permutations
  
    mylist=[1,2,3,4]
    permu = list(permutations(mylist,2))
    print(permu)
   
   # 결과
   # [(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3)]