鑑於例如一個列表兩個元件l = [1,0]
我需要創建重複的所有可能的5-元件變化。我試過itertools.combinations,但給我我想要的。變化與重複
按照給定的n = 2
和k = 5
我應該得到2^5 = 32
元素,其結果應該是這樣的:
results = [11111,11110,11101,11100,11001,11011,11010,...00000]
鑑於例如一個列表兩個元件l = [1,0]
我需要創建重複的所有可能的5-元件變化。我試過itertools.combinations,但給我我想要的。變化與重複
按照給定的n = 2
和k = 5
我應該得到2^5 = 32
元素,其結果應該是這樣的:
results = [11111,11110,11101,11100,11001,11011,11010,...00000]
>>> import itertools
>>> ["".join(item) for item in itertools.product("10", repeat=5)]
['11111', '11110', '11101', '11100', '11011', '11010', '11001', '11000', '10111',
'10110', '10101', '10100', '10011', '10010', '10001', '10000', '01111', '01110',
'01101', '01100', '01011', '01010', '01001', '01000', '00111', '00110', '00101',
'00100', '00011', '00010', '00001', '00000']
這相當於遍歷0..k^n-1和輸出基地中目前指數ñ。這將您的問題減少到基礎轉換(這基本上等同於長分區)。
有bin()可以轉換爲二進制。 –
是的,但他想任意基地(N)。基礎二是問題中的一個例子。無論如何 - 至少對於Python而言 - Tim的答案會更好。 – Ofir
什麼是你的問題?到目前爲止,你只是發表了一個聲明。請你嘗試過什麼已經,在那裏你卡住了,你需要知道什麼進行更新的信息您的問題。 – blubb
這看起來像hoemwork,請相應地標記它。 –
不是功課。 –