给定一个字符串,我想生成所有可能的组合.换句话说,将逗号放在字符串中的所有可能方法.
例如:
input: ["abcd"]
output: ["abcd"]
["abc","d"]
["ab","cd"]
["ab","c","d"]
["a","bc","d"]
["a","b","cd"]
["a","bcd"]
["a","b","c","d"]
Run Code Online (Sandbox Code Playgroud)
我有点坚持如何生成所有可能的列表.组合将只给出包含字符串集子集长度的列表,排列将提供所有可能的订购方式.
由于遍历切片,我可以在列表中只使用一个逗号来创建所有情况,但是我不能用两个逗号来表示例如"ab","c","d"和"a","b" ,"光盘"
我的尝试w/slice:
test="abcd"
for x in range(len(test)):
print test[:x],test[x:]
Run Code Online (Sandbox Code Playgroud) 我需要字符串子集的所有组合.此外,长度为1的子集后面只能跟一个长度> 1的子集.例如,对于字符串4824,结果应为:
[ [4, 824], [4, 82, 4], [48, 24], [482, 4], [4824] ]
Run Code Online (Sandbox Code Playgroud)
到目前为止,我设法检索所有可能的子集:
length = len(number)
ss = []
for i in xrange(length):
for j in xrange(i,length):
ss.append(number[i:j + 1])
Run Code Online (Sandbox Code Playgroud)
这给了我:
['4', '48', '482', '4824', '8', '82', '824', '2', '24', '4']
Run Code Online (Sandbox Code Playgroud)
但我现在不知道如何将它们结合起来.