我有以下列表中的Python,其中包括0。Python返回一個列表的組合列表序列
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]]
謝謝!
我有以下列表中的Python,其中包括0。Python返回一個列表的組合列表序列
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]]
謝謝!
可以使用itertools
包,它包含了product
功能
from itertools import product
list(product([0,1],repeat=5))
看到https://docs.python.org/3/library/itertools.html#itertools.product
編輯:注意正確使用的一些功能,從這個包應該給你的預期輸出沒有做循環。正如其他人所說,很難知道你想要什麼剛好。沒有導入包
我不確定你想要什麼,但以下看起來像你的需要。
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]]
三位組合:
lst = []
z = [lst.append(list(format(i,'03b'))) for i in range(0,2**3)]
lst
[['0', '0', '0'], ['0', '0', '1'], ['0', '1', '0'], ['0', '1', '1'], ['1', '0', '0'], ['1', '0', '1'], ['1', '1', '0'], ['1', '1', '1']]
爲4個位寬,變 '03B' 到 '04B' 和範圍(0,2 ** 4)
你有一個[例如](https://stackoverflow.com/help/mcve)你做了什麼,並解釋什麼是不工作? –
給出一個以[0,0,0]開始並詳細說明每一個輸出的例子,否則沒有人可以知道你想要什麼。 –