itertools 라이브러리 암기!
import itertools
순열과 조합의 차이는 순서의 유무이다.
서로 다른 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개를 취하여 조를 만들 때 이 하나하나의 조를 n개 중에서 r개 취한 조합이라고 한다.
import itertools
arr = ['A', 'B', 'C']
nCr = itertools.combinations(arr, 2)
print(list(nCr))
결과 : [('A', 'B'), ('A', 'C'), ('B', 'C')]
z = zip([1, 2, 3], ('A', 'B', 'C'))
print(next(z)) # (1, 'A')
print(next(z)) # (2, 'B')
print(next(z)) # (3, 'C')
a = all([1, 2, 3]) # True
a = all([0, 1, 2]) # False
a = any([0, 1, 2]) # True
a = any([0, False, []] # False