Ho un python per loop, nel quale ho bisogno di guardare avanti un elemento per vedere se è necessario eseguire un'azione prima dell'elaborazione.Python per-loop look-ahead
for line in file:
if the start of the next line == "0":
perform pre-processing
...
continue with normal processing
...
C'è un modo semplice per farlo in python? Il mio attuale approccio è quello di bufferizzare il file su un array, tuttavia questo non è l'ideale in quanto il file è piuttosto grande.
fa sì che legge due volte dal file, o bufferizza la linea in qualche modo? – Mike
Si legge solo una volta. Vedi 'teedataobject_getitem' in [' itertoolsmodule.c'] (http://svn.python.org/projects/python/branches/release27-maint/Modules/itertoolsmodule.c) –
Il tuo 'get_next' è nelle ricette itertools come ['pairwise'] (http://docs.python.org/library/itertools.html#recipes) –