我有一个数组列表,我想获得数组中元素的笛卡尔积。
我将用一个例子来使这个更具体......
itertools.product 似乎可以解决问题,但我被困在一个小细节上。
arrays = [(-1,+1), (-2,+2), (-3,+3)];
如果我做
cp = list(itertools.product(arrays));
我明白了
cp = cp0 = [((-1, 1),), ((-2, 2),), ((-3, 3),)]
但我想要得到的是
cp1 = [(-1,-2,-3), (-1,-2,+3), (-1,+2,-3), (-1,+2,+3), ..., (+1,+2,-3), (+1,+2,+3)].
我尝试了一些不同的东西:
cp = list(itertools.product(itertools.islice(arrays, len(arrays))));
cp = list(itertools.product(iter(arrays, len(arrays))));
他们都给了我cp0而不是cp1。
有任何想法吗?
提前致谢。