Python 표준 라이브러리 중 하나인 itertools 사용법을 간단히 알아보려 합니다.
itertools
는 python에서 효율적인 반복문을 만들 수 있게 도와주는 라이브러리 입니다!
가장 제가 많이 사용하는 함수는 product
, permutations
, combinations
등이 있어요!
대부분 iterator에서 element의 조합을 만들주는 함수이죠!
각각의 예시를 만들어보면
"""
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)
"""
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)
"""
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)
이렇게 간단하게 여러 조합을 간단하게 만들어 낼 수 있습니다!
위 링크에 다른 함수들도 있으니 참고하셔서 편하게 사용하시면 될 것 같네요!