Ho una lista di stringhe s
come segue:Python: Elenco contenente elenco secondario di stringhe
s = ['Hello', 'world', '!', 'How', 'are', 'you', '?', 'Have', 'a', 'good', 'day', '.']
Voglio questa lista per essere suddiviso in sottoliste. Ogni volta che c'è un ?!.\n
un nuovo elenco secondario è formato come segue:
final = [['Hello', 'world', '!'],
['How', 'are', 'you', '?'],
['Have', 'a', 'good', 'day', '.']]
ho provato questo:
x = 0
for i in range(len(s)):
if s[i] in ('!','?','.','\n'):
final = s[x: x+i]
x = i+1
negozi finali la mia uscita. Non ottenere il modo in cui dovrebbe essere. Eventuali suggerimenti?
vi consiglio l'uso di 'enumerate' per ottenere l'indice, invece, e, in generale, è meglio usare un' set' per il test di adesione a causa della sua costante di tempo contro la ricerca lineare tuple o lista – Copperfield
@Copperfield: infatti 'enumerate' è più bello per l'indicizzazione, ma cambierebbe lo stru cture del codice. Volevo stare il più vicino possibile alla struttura originale. – mkiever