Tengo la función Function(Number) con Number un String, que lo que debería hacer, es devolver todas las listas que se puedan generar a partir de Number sin alterar el orden y usando todos los elementos.
Aquí dejo un ejemplo de lo que debería pasar:
(*)[1,234]
(*)[1,2,34]
(*)[1,2,3,4]
(*)[12,3,4]
(*)[123,4]
(*)[1234]
(#)[12,34]
(#)[1,23,4]
(*) Son las listas que he logrado retornar y (#) son las listas que no he podido retornar. Si alguien pudiera ayudarme a pensar en (#) lo agradecería un montón.
Si a alguien le sirve, le dejo lo que plantié para (*):
def function(number):lists = [ ]
aux = [ ]
part1(number,lists,aux)
large = len(lists)
last = large - 1
part2(list(lists[last]),lists)
return lists
def part1(number,lists,aux):large = len(number)def part2(lista,lists):
if large >= 2:lista = [ ]
aux.append(number[0])
fixed = number[1:]
for i in aux:lista.append(i)lista.append(fixed)
lists.append(lista)
part1(fixed,lists,aux)
large = len(lista)
if large >= 2:lista[0] += str(lista[1])
lists.append(lista)
lista.pop(1)
part2(list(lista),lists)