Bei einer gegebenen Zeichenfolge möchte ich alle möglichen Kombinationen generieren. Mit anderen Worten, alle möglichen Wege, ein Komma irgendwo in die Zeichenfolge zu setzen.Zeichenfolge trennen
Zum Beispiel:
input: ["abcd"]
output: ["abcd"]
["abc","d"]
["ab","cd"]
["ab","c","d"]
["a","bc","d"]
["a","b","cd"]
["a","bcd"]
["a","b","c","d"]
Ich bin ein bisschen stecken, wie alle möglichen Listen zu generieren. Kombinationen geben mir nur Listen mit der Länge einer Teilmenge der Menge von Strings, Permutationen werden alle möglichen Arten der Ordnung geben.
Ich kann alle Fälle mit nur einem Komma in der Liste wegen der Iteration durch die Scheiben machen, aber ich kann Fälle mit zwei Kommas wie "ab", "c", "d" und "a" nicht machen , "b", "cd"
Mein Versuch w/Scheibe:
test="abcd"
for x in range(len(test)):
print test[:x],test[x:]
zum itertools Kommentator, welche Seite? Ich schaue durch diese http://docs.python.org/2/library/itertools.html, aber vielleicht ist das die falsche Suche –
Es gibt 2^(n-1) Möglichkeiten (Sie haben '['a', 'bc', 'd']' in Ihrem Beispiel) weil an jedem Punkt in zwischen Buchstaben können Sie die Zeichenfolge entweder teilen oder nicht. –