Что такое питонический способ повторения одновременно над двумя списками?
Предположим, что я хочу сравнить два файла по строкам (сравните каждую строку i
th в одном файле с i
-й строкой другого файла), я хотел бы сделать что-то вроде этого:
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
Каков питонический способ достижения этого?
Изменить: Я не использую обработчик файлов, а читатель CSV (csv.reader(open(file),...)
) и zip()
, похоже, не работает с ним...
Окончательное редактирование:, например, @Alex M., zip()
загружает файлы в память на первой итерации, поэтому в больших файлах это проблема. На Python 2 с помощью itertools
решается проблема.