我在Python中有以下列表,其中包含0。
lst = [0,0,0,0,0]
我想创建一个列表,其中包含1和0的不同组合的列表。每个列表都是一个新的独特组合,并且可以在其中找到所有可能的组合。它看起来有点像这样,如果它只有3个项目:
lst = [[0,0,0], [0,0,1], [0,1,0], [1,0,0], [0,1,1], [1,1,0], [1,0,1], [1,1,1]]
谢谢!
答案 0 :(得分:1)
您可以使用itertools
包,其中包含product
功能
from itertools import product
list(product([0,1],repeat=5))
请参阅https://docs.python.org/3/library/itertools.html#itertools.product
编辑:请注意,正确使用此软件包中的某些函数可以在不进行for循环的情况下为您提供预期的输出。正如其他人所说,很难知道你想要什么完全。
答案 1 :(得分:0)
我不确定你想要什么,但以下看起来像你的需要。
import numpy as np
lst = [0,0,0,0,0]
tmp = []
for i in range(len(lst)):
l = np.copy(lst)
l[i] = 1
tmp.append(l.tolist())
print(tmp)
[[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 1, 0], [0, 0, 0, 0, 1]]
答案 2 :(得分:0)
不导入包的三位组合:
if defined
对于4位宽,将“03b”更改为“04b”并将范围更改为(0,2 ** 4)