给定一个字符串,我想生成所有可能的组合。换句话说,就是在字符串中任意位置放置逗号的所有可能方式。
例如:
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:]