l = ['A', 'B', 'C', 'D']
すべての組み合わせを順番に取得したいと考えています。だから、私は何をしようとしたことはある順番に組み合わせを作り出す最も良い方法は何ですか?
['ABCD', 'ABC', 'AB', 'A', 'BCD', 'BC', 'B', 'CD', 'C', 'D']
、のような出力が...
>>> o = set()
>>> for i, j in enumerate(l):
o.add(''.join(l[:i]))
o.add(''.join(l[i:]))
>>>
>>> o
set(['', 'ABCD', 'AB', 'D', 'BCD', 'CD', 'ABC', 'A'])
になります。しかし、それはBC
をミス。 itertools.combinations
も試しましたが、注文に関係なくすべての可能な組み合わせが提供されています。
正確に言えば、「B」、「C」、「BC」がありません。 – Antonio
@Antonio ??追加した。 –
あなたの質問は[this](http://stackoverflow.com/q/17434070/2436175)のようですが、すぐに出力が出ますか? – Antonio