在python中生成两个项目的所有可能长度n组合

JMz*_*nce 1 python combinations

我试图从两个可能的项目生成长度n的列表.例如,一个例子可以是,长度为4的列表,包括零,或者是0000,0001,0010,0100,1000,1001等等.先谢谢,杰克

Lev*_*sky 8

itertools.product:

In [1]: from itertools import product

In [2]: list(product((0, 1), repeat=4))
Out[2]: 
[(0, 0, 0, 0),
 (0, 0, 0, 1),
 (0, 0, 1, 0),
 (0, 0, 1, 1),
 (0, 1, 0, 0),
 (0, 1, 0, 1),
 (0, 1, 1, 0),
 (0, 1, 1, 1),
 (1, 0, 0, 0),
 (1, 0, 0, 1),
 (1, 0, 1, 0),
 (1, 0, 1, 1),
 (1, 1, 0, 0),
 (1, 1, 0, 1),
 (1, 1, 1, 0),
 (1, 1, 1, 1)]
Run Code Online (Sandbox Code Playgroud)

您也可以将整数打印为二进制字符串:

In [3]: for i in range(2**4):
   ...:     print('{:04b}'.format(i))
   ...:     
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Run Code Online (Sandbox Code Playgroud)