T I L / 6월 4일

Jay·2020년 6월 4일
0

Today I Learned 🧐

목록 보기
28/71
post-thumbnail

python

  • 10 Smooth Python Tricks For Python Gods

  • itertools
    파이썬 기본 모듈인 itertool를 사용하면 복잡한 반복문을 쉽게 구현할 수 있고 코드도 간결해진다.

    • itertools.permutations
      인자로 주어진 리스트로 만들 수 있는 모든 순열을 중복없이 만들어준다.
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)

https://docs.python.org/2/library/itertools.html

profile
You're not a computer, you're a tiny stone in a beautiful mosaic

0개의 댓글