from itertools import product
list_a = ['A','B','C','D']
list_b = ['1','2']
list_result = []
for x in list_a:
for y in list_b:
list_result.append((x,y))
print (list_result)
# [('A', '1'), ('A', '2'), ('B', '1'), ('B', '2'), ('C', '1'), ('C', '2'), ('D', '1'), ('D', '2')]
print (list(product(list_a,list_b)))
# [('A', '1'), ('A', '2'), ('B', '1'), ('B', '2'), ('C', '1'), ('C', '2'), ('D', '1'), ('D', '2')]
이건 우리 프로그램을 하다보면 보통 중첩 for문을 돌리는 경우가 있는데,
위와 같이 간단하게 한문장으로 해결되는 경우가 있다.
그것도 수학적 개념과 동일하게 ,
확률론의 순열과도 비슷한 개념이므로
이것 역시 모든 경우의 수를 나열할때 용이하게 사용된다.