itertools
파이썬 기본 모듈인 itertool를 사용하면 복잡한 반복문을 쉽게 구현할 수 있고 코드도 간결해진다.
import itertools as it #1
a = list(range(1, 4)) #2
for tmp in it.permutations(a) : #3
print(tmp)
#1 itertools를 임포트 한다. 간단하게 it라고 쓰기로 했다.
#2 1부터 4까지의 숫자로 구성된 리스트를 만든다
#3
(1, 2, 3, 4)
(1, 2, 4, 3)
(1, 3, 2, 4)
(1, 3, 4, 2)
(1, 4, 2, 3)
(1, 4, 3, 2)
(2, 1, 3, 4)
(2, 1, 4, 3)
(2, 3, 1, 4)
(2, 3, 4, 1)
(2, 4, 1, 3)
(2, 4, 3, 1)
(3, 1, 2, 4)
(3, 1, 4, 2)
(3, 2, 1, 4)
(3, 2, 4, 1)
(3, 4, 1, 2)
(3, 4, 2, 1)
(4, 1, 2, 3)
(4, 1, 3, 2)
(4, 2, 1, 3)
(4, 2, 3, 1)
(4, 3, 1, 2)
(4, 3, 2, 1)
중복되지 않고 모든 순열을 프린트 한다.
permutation을 사용할 때, 인자에 숫자를 하나 더 넣으면 순열의 길이를 제한할 수 있다.
for tmp in it.permutations(a,2) :
print(tmp)
결과 :
(1, 2)
(1, 3)
(1, 4)
(2, 1)
(2, 3)
(2, 4)
(3, 1)
(3, 2)
(3, 4)
(4, 1)
(4, 2)
(4, 3)