파이썬의 내장 라이브러리 중 하나인 itertools
는 반복되는 데이터를 처리하는 모듈들을 가지고 있습니다.
반복되는 데이터에서 순열이나 조합을 구하고자 할 때 사용되는 모듈인 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)]