Python은 itertools를 이용하면 for문 없이 경우의 수를 찾아 낼수 있다.
for문을 사용해 복잡하게 사용하는 방법보다는 사용할 줄만 안다면 좋은 방법들이다.
순열이란, 서로 다른 n개 중 r개를 골라 순서를 정해 나열하는 가짓 수
# 기본 사용 법
import itertools
arr = ['A', 'B', 'C']
nPr = itertools.permutations(arr, 2)
print(list(nPr))
# [('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')]
조합이란, 서로 다른 n개 중 r개를 취하여 조를 만든다.
이때, 조합은 순서를 고려하지 않기 때문에 중복된 경우의 수는 제외된다.
# 기본 사용 법
import itertools
arr = ['A', 'B', 'C']
nCr = itertools.combinations(arr, 2)
print(list(nCr))
# [('A', 'B'), ('A', 'C'), ('B', 'C')]
# 기본 사용 법
result = all([1, 2, 3]) # True
result = all([0, 1, 2]) # False
# 기본 사용 법
result = any([0, 1, 2]) # True
result = any([0, False, []] # False
# 기본 사용 법
import itertools
list_1 = [1, 2]
list_2 = ('A', 'B')
result = itertools.chain(list_1, list_2)
print(list(result))
# [1, 2, 'A', 'B']