2013-10-30 1 views
0
Itertools.product(*args, **kargs) 

해당 제품은 많은 매개 변수를받을 수 있습니다. likepython itertools.product의 매개 변수를 조작하는 방법

a = [1,2] 
b = [3,4] 
and I can itertools.product(a,b,a,b,a,b....) 

하나의 구조에서 모든 매개 변수를 수집하고 싶습니다. 제품을 계산해야하는 세트가 몇 개인 지 알 수 없기 때문입니다.

그러나

itertools.product([a,b,a,b]) 

가 작동하지 않습니다.

그럼 어떻게해야합니까?

답변

4

itertools.product(*[a, b, a, b])을 사용하여 목록의 압축을 푸십시오.

In [1]: a = [1, 2] 

In [2]: b = [3, 4] 

In [3]: from itertools import product 

In [4]: list(product(a, b, a, b)) 
Out[4]: 
[(1, 3, 1, 3), 
(1, 3, 1, 4), 
(1, 3, 2, 3), 
(1, 3, 2, 4), 
...] 

In [5]: test_list = [a, b, a, b] 

In [6]: list(product(*test_list)) 
Out[6]: 
[(1, 3, 1, 3), 
(1, 3, 1, 4), 
(1, 3, 2, 3), 
(1, 3, 2, 4), 
...] 
+0

위대한, 내 문제를 해결. –

+0

도움이 될 수있어서 기쁩니다. :) –

관련 문제