[Python] 파이썬 itertools 조합 및 순열 정리(permutations, combinations)

권경환·2023년 12월 3일
0

python

목록 보기
10/14
post-thumbnail

itertools 개념

파이썬의 내장 라이브러리 중 하나인 itertools는 반복되는 데이터를 처리하는 모듈들을 가지고 있습니다.
반복되는 데이터에서 순열이나 조합을 구하고자 할 때 사용되는 모듈인 permutations, combinations에 대해서 알아보겠습니다.

permutations, combinations 사용방법

list(permutations(data, x))은 반복되는 데이터에서 x개의 데이터를 뽑아 순열을 계산해줍니다.
이때 변수안에 넣을때는 리스트 자료형으로 변경해줘서 넣어야 print할때 직관적으로 보여집니다.
아래는 [1,2,3] 배열 중 2개의 순열을 뽑아서 나열하는 코드입니다.

import itertools
arr1 = [1,2,3]
arr2 = list(itertools.permutations(arr1, 2))
print(arr2)
# [(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]

for문을 이용해서 아래와 같이 데이터를 뽑을 수 있습니다.

import itertools
arr1 = [1,2,3]
for i in permutations(arr1, 2):
        print(i)
"""
(1, 2)
(1, 3)
(2, 1)
(2, 3)
(3, 1)
(3, 2)
"""

list(combinations(data, x))은 반복되는 데이터에서 x개의 데이터를 뽑아 조합을 계산해줍니다.
아래는 [1,2,3] 배열 중 2개의 조합을 뽑아서 나열하는 코드입니다.

import itertools
arr1 = [1,2,3]
arr2 = list(itertools.combinations(arr1, 2))
print(arr2)
# [(1, 2), (1, 3), (2, 3)]
profile
성장을 좋아하는 주니어 개발자의 블로그

0개의 댓글