preloader
Python

Python itertools

Python itertools

Python 표준 라이브러리 중 하나인 itertools 사용법을 간단히 알아보려 합니다.

itertools는 python에서 효율적인 반복문을 만들 수 있게 도와주는 라이브러리 입니다!

가장 제가 많이 사용하는 함수는 product, permutations, combinations 등이 있어요!

대부분 iterator에서 element의 조합을 만들주는 함수이죠!

각각의 예시를 만들어보면

product

"""
A A
A B
A C
A D
B A
B B
B C
B D
C A
C B
C C
C D
D A
D B
D C
D D
"""

seq = ["A", "B", "C", "D"]
for i in seq:
  for j in seq:
    print(i, j)

# --------------------------------------------

import itertools

seq = ["A", "B", "C", "D"]
for i, j in itertools.product(seq, repeat=2):
    print(i, j)

permutations

"""
A B
A C
A D
B A
B C
B D
C A
C B
C D
D A
D B
D C
"""

seq = ["A", "B", "C", "D"]
for i in seq:
    sub_seq = seq.copy()
    sub_seq.remove(i)
    for j in sub_seq:
        print(i, j)

# --------------------------------------------

import itertools

seq = ["A", "B", "C", "D"]
for i, j in itertools.permutations(seq, 2):
    print(i, j)

combinations

"""
A B
A C
A D
B C
B D
C D
"""

seq = ["A", "B", "C", "D"]
sub_seq = seq.copy()
for i in seq:
    sub_seq.remove(i)
    for j in sub_seq:
        print(i, j)

# --------------------------------------------

import itertools

seq = ["A", "B", "C", "D"]
for i, j in itertools.combinations(seq, 2):
    print(i, j)

이렇게 간단하게 여러 조합을 간단하게 만들어 낼 수 있습니다!

위 링크에 다른 함수들도 있으니 참고하셔서 편하게 사용하시면 될 것 같네요!

P.S

  • 너무 오랜만에 포스팅
  • 포스팅은 간단하게
donaricano-btn
도움이 되셨다면 몰랑이에게 밀크티를...!
더 다양한 포스팅을 채우도록 노력할게요!
comments powered by Disqus