product 함수의 기능

Itertools 라이브러리에 내장된 함수 중 한 개인 product 함수는 카테시안 곱(Cartesian product)을 계산합니다. 즉, 입력된 여러 개의 iterables 객체 간의 모든 가능한 조합을 생성합니다. 이 함수는 중첩된 루프를 사용하여 여러 시퀀스의 모든 조합을 생성하는 작업을 효율적으로 수행할 수 있게 해줍니다.

기본 사용법

from itertools import product

# 두 리스트의 모든 조합 생성
list1 = [1, 2, 3]
list2 = ['a', 'b']
result = product(list1, list2)

>>> result = [(1, 'a'), (1, 'b'), (2, 'a'), (2, 'b'), (3, 'a'), (3, 'b')]

 

 

Product 함수는 선택적 repeat 인자도 받습니다. 이를 사용하면 동일한 iterable 객체를 여러 번 반복하여 조합을 생

성할 수 있습니다.

result = product(list1, repeat=2)

>>> result = [(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]