Wie wende ich itertools.product auf Elemente einer Liste von Listen an?
Ich habe eine Liste von Arrays und möchte das kartesische Produkt der Elemente in den Arrays erhalten.
Ich werde ein Beispiel verwenden, um dies konkreter zu machen ...
itertools.product scheint den Trick zu machen, aber ich stecke in einem kleinen Detail fest.
arrays = [(-1,+1), (-2,+2), (-3,+3)];
Wenn ich mach
cp = list(itertools.product(arrays));
Ich bekomm
cp = cp0 = [((-1, 1),), ((-2, 2),), ((-3, 3),)]
Aber was ich bekommen möchte, ist
cp1 = [(-1,-2,-3), (-1,-2,+3), (-1,+2,-3), (-1,+2,+3), ..., (+1,+2,-3), (+1,+2,+3)].
Ich habe ein paar verschiedene Dinge ausprobiert:
cp = list(itertools.product(itertools.islice(arrays, len(arrays))));
cp = list(itertools.product(iter(arrays, len(arrays))));
Sie alle gaben mir cp0 Anstatt von cp1.
Irgendwelche Ideen
Danke im Voraus