python3 sin xrange causa y solución

Creación de un objeto iteración en Python xrange 2 () uso es extremadamente popular. Por ejemplo: para un bucle o una lista / set / inferencial diccionario. El rendimiento es como un generador (como por ejemplo "La evaluación perezosa"). Pero esto es xrange-iterables medios infinitos, ilimitados que se puede recorrer. Debido a su evaluación perezosa, si la función no sólo no atraviesan una vez, xrange () () más rápido (por ejemplo, para circular) intervalo de relaciones. Sin embargo, una comparación de la iteración, la iteración no se recomienda repetir varias veces, debido a que el generador desde cero cada vez.

En Python 3, range () es como xrange () a fin de lograr un xrange específico () la función ya no existe (en Python 3 en xrange () lanzará un nombre excepción).

 

soluciones

La razón oficial para hablar por encima de comparación, mucha gente no puede entender, hablar popular es la siguiente:

Debido python3 cancelar la función de rango, y el rango de cambio de nombre de función xrange, por lo que ahora se puede utilizar directamente la función de rango.

 

Por lo tanto, en la versión python3, sólo tenemos que la función directamente con el rango de ello! Y en un sentido, xrange uso () la función y el rango () son idénticas. De la siguiente manera:

 

rango

Descripción de la función: rango ([inicia,] parada [, paso]), de acuerdo con el paso especificado iniciar y rangos de parada y paso de programación, generando una lista.

>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(2,10) [2, 3, 4, 5, 6, 7, 8, 9] >>> range(2,10,2) [2, 4, 6, 8] >>> type(_) <type 'list'>

xrange

Función: el rango de uso e idéntico, pero vuelve un generador.

>>> xrange(10)
xrange(10)
>>> xrange(2,10) xrange(2, 10) >>> xrange(2,10,2) xrange(2, 10, 2) >>> type(_) <type 'xrange'> >>> list(xrange(2, 10, 2)) [2, 4, 6, 8] 

 

Supongo que te gusta

Origin www.cnblogs.com/lincappu/p/12667585.html
Recomendado
Clasificación