itertools productによる直積を複数の要素に対して適用する際に、
要素a,b,c,dを一回でproductする結果と
要素a,b,cを一度productし、その結果(p_a_b_c)と要素dをproductする結果は異なります。
この後者を前者と同じ結果にする方法はありますか?
python3
1import itertools 2 3a = (1,2) 4b = (11,12) 5c = (101,102) 6d = (1001,1002) 7 8product_ = tuple(itertools.product(a,b,c,d)) 9>>> 10((1, 11, 101, 1001), (1, 11, 101, 1002), (1, 11, 102, 1001), (1, 11, 102, 1002), (1, 12, 101, 1001), (1, 12, 101, 1002), (1, 12, 102, 1001), (1, 12, 102, 1002), (2, 11, 101, 1001), (2, 11, 101, 1002), (2, 11, 102, 1001), (2, 11, 102, 1002), (2, 12, 101, 1001), (2, 12, 101, 1002), (2, 12, 102, 1001), (2, 12, 102, 1002)) 11 12p_a_b_c= tuple(itertools.product(a,b,c)) 13product_2 = tuple(itertools.product(p_a_b_c, d)) 14>>> 15(((1, 11, 101), 1001), ((1, 11, 101), 1002), ((1, 11, 102), 1001), ((1, 11, 102), 1002), ((1, 12, 101), 1001), ((1, 12, 101), 1002), ((1, 12, 102), 1001), ((1, 12, 102), 1002), ((2, 11, 101), 1001), ((2, 11, 101), 1002), ((2, 11, 102), 1001), ((2, 11, 102), 1002), ((2, 12, 101), 1001), ((2, 12, 101), 1002), ((2, 12, 102), 1001), ((2, 12, 102), 1002)) 16