오늘은 itertools를 활용한 배열의 순열(Permutation)과 조합(Combination)을 계산하는 방법을 소개한다.
1. 순열(Permutation) - itertools.permutations
순열은 특정 집합에서 정해진 개수만큼 서로 다른 원소를 순서를 고려하여 나열하는 방법이다. 파이썬에서는 itertools의 permutations을 통하여 순열을 구할 수 있다.
사용방법은 다음과 같다.
permutations( 배열, 뽑는 개수 )
만약 집합 1, 2, 3, 4에서 2개를 뽑는 순열은 다음과 같이 구할 수 있다. 이때 결과는 바로 나오지 않는다. 왜냐하면 generator 형식으로 나오기 때문에 list나 tuple과 같이 써서 결과를 볼 수 있다.
from itertools import permutations
a = [1,2,3,4]
res = permutations(a, 2)
print(list(res)) # list와 같이 써야 결과를 볼 수 있다.
2. 조합(Combination) - itertools.combinations
조합(Combination)은 특정 집합에서 정해진 개수만큼 서로 다른 원소를 순서를 고려하지 않고 나열하는 것을 말한다.
파이썬에서 조합은 itertools 패키지에서 combinations를 이용하여 순열을 구할 수 있다. 사용방법은 다음과 같다.
combinations( 배열, 뽑는 개수 )
만약 집합 1, 2, 3, 4에서 2개를 뽑는 조합은 다음과 같이 구할 수 있다. 마찬가지로 결과는 바로 나오지 않기 때문에 list나 tuple과 같이 써서 결과를 볼 수 있다.
from itertools import combinations
a = [1,2,3,4]
res = combinations(a, 2)
print(list(res)) # list와 같이 써야 결과를 볼 수 있다.
지금까지 꽁냥이의 글 읽어주셔서 감사합니다.
'프로그래밍 > Python' 카테고리의 다른 글
[Python] difflib.SequenceMatcher 두 문자열(단어)의 유사도(Similarity) 계산하기 (422) | 2022.05.01 |
---|---|
[Python] iter함수와 itertools를 이용하여 메모리를 절약하면서 배열을 순서대로 그룹화(Grouping)하기 (417) | 2022.04.23 |
[Python] 올림, 내림, 반올림(Ceil, Floor, Round) (398) | 2022.04.18 |
[Python] 파일 크기(용량, 사이즈) 확인하기 - 메가 바이트(MB), 기가 바이트(GB) 등 여러 단위로 파일 크기 확인하기 (385) | 2022.04.15 |
[Python] 내가 만든 파이썬(Python) 파일(.py) 임포트하기 (414) | 2022.04.05 |
댓글