¿Cuál es la forma pitónica de iterar simultáneamente en dos listas?Python iteración doble
Supongamos que quiero comparar línea de dos archivos por línea (comparar cada línea de i
º en un archivo con la línea i
º del otro archivo), me gustaría hacer algo como esto:
file1 = csv.reader(open(filename1),...)
file2 = csv.reader(open(filename2),...)
for line1 in file1 and line2 in file2: #pseudo-code!
if line1 != line2:
print "files are not identical"
break
¿Cuál es la forma pitónica de lograr esto?
Editar: No estoy usando un identificador de archivos, sino más bien un lector CSV (csv.reader(open(file),...)
), y no parece zip()
para trabajar con él ...
edición final : como @Alex M. sugirió, zip()
carga los archivos en la memoria en la primera iteración, por lo que en archivos grandes se trata de un problema. En Python 2, usar itertools
resuelve el problema.
Posible duplicado de [¿Cómo puedo iterar a través de dos listas en paralelo en Python?] (Http://stackoverflow.com/questions/1663807/how-can-i-iterate-through-two-lists-in-parallel -in-python) –