В Python 3 встроенный zip
выполняет ту же работу, что и izip
в 2.x (возвращает генератор вместо списка), но немного быстрее, поскольку это встроенная функция.
Здесь эталоном между zip
в Python 2 и 3 и izip
в Python 2:
Python 2.7:
In [5]: %timeit list(izip(range(100), range(100)))
100000 loops, best of 3: 5.16 µs per loop
In [6]: %timeit zip(range(100), range(100))
100000 loops, best of 3: 3.87 µs per loop
Python 3:
In [2]: %timeit list(zip(range(100), range(100)))
100000 loops, best of 3: 3.84 µs per loop
В этом случае, так как zip
аргументы аргумента должны поддерживать итерацию, вы не можете использовать 2 в качестве аргумента. Так что если вы хотите, чтобы написать 2 переменную в виде строки CSV вы можете поместить их в кортеж или список:
writer.writerows((variable1,2))
Кроме того, из itertools
вы можете импортировать zip_longest
как более гибкой функции, которую вы можете использовать его на итераторы с различными размер.