Skip to main content
 首页 » 编程设计

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

2025年05月04日12artech

我试图从两个可能的项目中生成一个长度为 n 的列表。例如一个例子可能是,一个长度为 4 的列表,其中包含 0 或 1,它们可能是 0000、0001、0010、0100、1000、1001 等。 提前致谢, jack

请您参考如下方法:

与 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)] 

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

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