給定一個字符串,我想要生成所有可能的組合。換句話說,所有可能的方式都是在字符串的某個位置放置一個逗號。分隔字符串
例如:
input: ["abcd"]
output: ["abcd"]
["abc","d"]
["ab","cd"]
["ab","c","d"]
["a","bc","d"]
["a","b","cd"]
["a","bcd"]
["a","b","c","d"]
我停留在如何產生的所有可能的列表了一下。組合只會給我一個字符串集合子集的長度,排列會給出所有可能的排序方法。
我可以在列表中僅使用一個逗號作爲遍歷切片的所有情況,但我無法使用兩個逗號分別爲「ab」,「c」,「d」和「a」 , 「b」, 「CD」
我嘗試瓦特/片:
test="abcd"
for x in range(len(test)):
print test[:x],test[x:]
到迭代工具評議,哪一頁?我正在瀏覽這個http://docs.python.org/2/library/itertools。html,但也許這是不正確的搜索通過 –
有2 ^(n-1)的可能性(你錯過了[['a','bc','d']'在你的例子中),因爲在每個點在字母之間,你可以分割或不分割字符串。 –