In python, come posso dividere una lunga lista in una lista di liste ovunque mi imbatto '-'. Per esempio, come posso convertire:una lista> un elenco di liste
['1', 'a', 'b','---', '2','c','d','---','3','123','e','---','4']
a
[['1', 'a', 'b'],['2','c','d'],['3','123','e'],['4']]
Molte grazie in anticipo.
+1 Nice (non ho pensato subito a 'itertools.groupby' qui, ma si adatta davvero al conto) – ChristopheD
Grazie per la risposta. C'è un modo per controllare x == '---' nella riga precedente con un'espressione regolare (qualcosa come x == re.match ('-'))? Molte grazie – DGT
Sì, si potrebbe usare qualcosa come '[lista (g) per k, g in itertools.groupby (l, lambda x: re.match ('---', x)) se non k]'. L'espressione 're.match (...)' restituisce None quando 'x' non corrisponde al modello. Quindi 'k' è' None' per gli elementi che vuoi mantenere. Quindi ho cambiato la condizione in "se non k". – unutbu