Separando uma String
Dada uma string, quero gerar todas as combinações possíveis. Em outras palavras, todas as maneiras possíveis de colocar uma vírgula em algum lugar da string.
Por exemplo:
input: ["abcd"]
output: ["abcd"]
["abc","d"]
["ab","cd"]
["ab","c","d"]
["a","bc","d"]
["a","b","cd"]
["a","bcd"]
["a","b","c","d"]
Estou um pouco preso em como gerar todas as listas possíveis. As combinações fornecerão apenas listas com o comprimento do subconjunto do conjunto de strings, as permutações fornecerão todas as formas possíveis de ordem.
Posso fazer todos os casos com apenas uma vírgula na lista devido à iteração nas fatias, mas não posso fazer casos com duas vírgulas como "ab", "c", "d" e "a", "b" ,"CD"
Minha tentativa com fatia:
test="abcd"
for x in range(len(test)):
print test[:x],test[x:]