私の無知を許してください。私は現時点で脳のおならを持っており、解決策を思い付くことができません。私が[1, 1, 0, 0]
のリストを持っているとしましょう。すべての可能性を生成せずにリストバイナリ値の一意の置換を見つける
from itertools import permutations
set([''.join(x) for x in list(permutations('0011', 4))])
しかし、これは全体の順列を計算して、重複を破棄:この作品
['0110', '0011', '0101', '1100', '1010', '1001']
:私のような、正確に2、1と2つのゼロを持っているすべての4桁の二進数を、計算したいです。意味は、それは24回計算されますが、私は6だけ必要です。コレクションが[1, 1, 1, 1, 0, 0, 0, 0]
であれば、はるかに重要です。
これは非常に簡単ですが、私はそれの周りに私の頭を包むことはできません。
[DOC](https://docs.python.org/2/library/itertools.html#itertools.permutations)は、明示的に要素が位置しない値に基づいて一意に扱われることを言います。ですから、 'permutations()'を使ってもオプションではないようです。 – SilentMonk
@SilentMonkだから、私は尋ねた。順列はここでは有用ではありません。 – norbertpy
@norbertpy、3ktで共有されているのは答えです。 – SilentMonk