l = ['A', 'B', 'C', 'D']
Ich möchte alle Kombinationen in Reihenfolge bringen. So sollte die Ausgabe aussehen,Was ist der beste Weg, um Kombinationen in Reihenfolge zu produzieren?
['ABCD', 'ABC', 'AB', 'A', 'BCD', 'BC', 'B', 'CD', 'C', 'D']
Was ich versucht habe, ist ..
>>> 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'])
Aber es fehlt BC
. Auch versucht itertools.combinations
aber es bietet alle möglichen Kombinationen unabhängig von der Reihenfolge.
Um genau zu sein, vermissen Sie "B", "C" und "BC" – Antonio
@Antonio ?? Ich fügte hinzu. –
Ihre Frage ist wie [diese] (http://stackoverflow.com/q/17434070/2436175), aber mit der Ausgabe sofort bestellt? – Antonio