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

Antworten auf die Frage(4)

Ihre Antwort auf die Frage