pairwise libreria groupby from example español python python-3.x python-2.7 csv itertools izip

libreria - pairwise python



importar izip desde el módulo itertools proporciona NameError en Python 3.x (3)

En Python 3, el zip incorporado hace el mismo trabajo que itertools.izip en 2.X (devuelve un iterador en lugar de una lista). La implementación de zip se copia casi por completo del antiguo izip , solo con algunos nombres cambiados y se agregó soporte de pickle.

Aquí hay un punto de referencia entre zip en Python 2 y 3 e izip en Python 2:

Python 2.7 :

from timeit import timeit print(timeit(''list(izip(xrange(100), xrange(100)))'', ''from itertools import izip'', number=500000)) print(timeit(''zip(xrange(100), xrange(100))'', number=500000))

Salida:

1.9288790226 1.2828938961

Python 3 :

from timeit import timeit print(timeit(''list(zip(range(100), range(100)))'', number=500000))

Salida:

1.7653984297066927

En este caso, dado que los argumentos de zip deben admitir la iteración, no puede usar 2 como argumento. Entonces, si desea escribir 2 variables como una fila CSV, puede ponerlas en una tupla o lista:

writer.writerows((variable1,2))

También desde itertools puedes importar zip_longest como una función más flexible que puedes usar en iteradores con diferentes tamaños.

Estoy tratando de importar el módulo izip así:

from itertools import izip

Sin embargo, después de cambiar recientemente de Python 2.7 a 3, no parece funcionar.

Estoy tratando de escribir en un archivo csv:

writer.writerows(izip(variable1,2))

Pero no tengo suerte. Aún encuentro un error.


Una de las formas que me ayudó es:

try: from itertools import izip as zip except ImportError: # will be 3.x series pass


Use zip lugar de izip directamente en python 3, no es necesario importar nada.

Para más visita here .