我有興趣生成N
變量的所有二進制組合,而不必實現在N上迭代N次的手動循環,並且每次循環通過N/2
等等。使用itertools生成指數二進制空間
我們在Python中有這樣的功能嗎?
如:
我N
二元變量:
pool=['A','B','C',...,'I','J']
len(pool)=10
我想生成2^10=1024
空間了這些如:
[A B C ... I J]
iter0 = 0 0 0 ... 0 0
iter1 = 0 0 0 ... 0 1
iter2 = 0 0 0 ... 1 1
...
iter1022 = 1 1 1 ... 1 0
iter1023 = 1 1 1 ... 1 1
你看,我不在這裏有重複,每個這樣的每個序列都啓用一個變量。我該如何使用Python的itertools
?
使用[itertools.product](https://docs.python.org /2.7/library/itertools.html#itertools.product)與'repeat'參數 –
@lazydog。這是行不通的,已經嘗試過了。順便說一句,我沒有在這裏重複。例如,應該爲每個序列啓用一次變量「A」。 – Amir
然後,您的_actual_預期產出的例子是什麼?清楚。例如,你桌子裏的'iter1'是否翻譯成'J''? 'iter2'應該代表'IJ'嗎?只是我會成爲輸出的一部分嗎? –