所有可能的相位组合

use*_*624 5 python

假设,我有一份清单

1,1

它可以采取+或 - 符号.因此,可能的组合将是功率2的2.

 1  1
 1 -1
-1  1
-1 -1
Run Code Online (Sandbox Code Playgroud)

同样,我有一份清单

1,1,1

它可以采取+或 - 符号.所以可能的组合是2到3的功率.

-1   1  -1
-1   1   1
 1   1   1
 1  -1   1
-1  -1  -1
 1   1  -1
 1  -1  -1
-1  -1   1
Run Code Online (Sandbox Code Playgroud)

在python中,我如何使用itertools或任何其他方法来做到这一点.请帮忙.

fal*_*tru 10

>>> import itertools
>>> lst = [1,1,1]
>>> for xs in itertools.product([1,-1], repeat=len(lst)):
...     print([a*b for a,b in zip(lst, xs)])
... 
[1, 1, 1]
[1, 1, -1]
[1, -1, 1]
[1, -1, -1]
[-1, 1, 1]
[-1, 1, -1]
[-1, -1, 1]
[-1, -1, -1]
Run Code Online (Sandbox Code Playgroud)