Questo è il modulo di esempio, proverò a spiegarlo in parole successive. Ho una lista da rompere una stringa ...Come elaborare una stringa in un livello di sottoliste
dicono
[a, a, a, b, a, a, b, a, c, a, b, a, a, c, a, c, a]
dove b è criteri 1 e C è criteri 2
voglio rompere in una lista come questa:
[a, a, a, [b, a, a, [b, a, c], a, [b, a, a, c], a, c], a]
Quindi voglio per elaborare la stringa in modo tale che quando vado attraverso di essa, se la voce corrisponde ai criteri 1, aprire un nuovo elenco, se l'articolo corrisponde ai criteri 2, chiudere l'elenco di un torna indietro di un livello sopra.
Ho provato a fare qualcosa di simile, ma non sta funzionando molto bene.
def sublist(self, l):
for line in list:
if not b:
self.data.append(line)
else:
sublist(l[line:]) #<----- not sure how to recurse it.
ho visto lista rottura nella lista di dimensioni uguali davanti su StackOverflow, ma non una rottura in elenco secondario utilizzando una serie di criteri.
Sono abbastanza nuovo in Python, quindi non ho molta familiarità con le strutture dati e gli strumenti di iterazione.
Nice. I generatori semplificano decisamente la struttura ricorsiva. – Marcin
(+1) Bella soluzione! – NPE
Si noti che questo gestisce un "underflow" terminando l'output. Questo potrebbe non essere ciò che è voluto. – Marcin