我想在列表中遍歷0和1的每個可能的組合。例如,如果我用3個參數的工作,我會得到:在Python中使用0和1的每個可能的組合列出一個列表
[0, 0, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [1, 1, 0], [1, 0, 1], [0, 1, 1], [1, 1, 1]
我以爲解決方案上Array combinations of 0s and 1s由於與存儲我需要長度的二進制數的問題是不夠的。我希望能夠像這樣遍歷20個或更多長度的列表,其中純粹大小變得難以用整數處理。我一直在使用這樣的代碼:
for a in [0, 1]:
for b in [0, 1]:
for c in [0, 1]:
print([a, b, c])
有什麼更Python或快?一個20層嵌套的循環,即使是像這樣簡單的循環,仍然是一個怪物。
「由於與長度的存儲二進制數的問題我需要」。什麼? Python可以很容易地存儲遠遠大於它可以計算的最大值的整數,這個值等於宇宙的年齡。只需從'0'開始並繼續。這種方法在Python中唯一的問題是,將這些整數轉換爲數字列表可能比使用itertools.product代替速度慢。 –
「20或更多」 - 甚至像C這樣的語言可以用整數處理,沒有問題,並且這些語言具有固定大小的整數。 – user2357112