순열과 조합 라이브러리

2021. 11. 8. 19:14Python

# 순열 (permutation)

순서가 있는 추출방식

그러니까 1번째와 2번째 하고, 2번째와 1번째는 서로 다른 것으로 간주하는 방식

from itertools import permutations

p1 = permutations([1, 2, 1])
print(*p1)
# (1, 2, 1) (1, 1, 2) (2, 1, 1) (2, 1, 1) (1, 1, 2) (1, 2, 1)

p2 = permutations([1, 2, 1], 2)
print(*p2)
# (1, 2) (1, 1) (2, 1) (2, 1) (1, 1) (1, 2)

 

# 조합 (combination)

순서는 따지지 않고, 요소들의 조합 만으로 추출하는 방식

그러니까 1번째와 2번째를 추출하는 것과 2번째와 1번째를 추출하는 것은 같은 것으로 간주하는 방식

from itertools import combinations

c1 = combinations([1, 2, 1], 3) # r값 필수 입력
print(*c1)
# (1, 2, 1)

c2 = combinations([1, 2, 1], 2)
print(*c2)
# (1, 2) (1, 1) (2, 1)

 

 

위 함수들의 매개변수 설명

인자 순서 매개변수 대상 자료형 매개변수 설명
1 iterable 객체 추출하고자 하는 대상
2 int (변수명 : r) 몇 개 추출하는 지

 

# 참고 자료

https://docs.python.org/ko/3/library/itertools.html

https://www.geeksforgeeks.org/permutation-and-combination-in-python/

반응형

'Python' 카테고리의 다른 글

아파치 스파크 Spark 란?  (0) 2021.11.03
온라인 Python IDE  (0) 2021.10.26
scikit-learn 라이브러리  (0) 2021.08.02
lambda 함수 사용하는 방법  (0) 2021.07.28
List Comprehension  (0) 2021.01.03