Python xrange vs.Rango

Python Xrange Vs Range



Hasta la versión 2.x de Python, había un total de dos métodos subyacentes utilizados en este lenguaje para generar la lista de números enteros dentro de un rango proporcionado. Los dos métodos se enumeran a continuación:

distancia ()
xrange ()







En el futuro, con la última versión de Python (3 en adelante), se retiró range () y luego se cambió xrange () a range (). Ahora, en Python 3, solo hay una función para este método, es decir, range (). En Python 3, la función range () es solo otra forma de implementar la versión anterior de xrange () de python 2.x. Aquí, relacionaremos los dos.



Xrange ()

El xrange () se utiliza para crear una secuencia numérica como la función range ().



Sintaxis

La sintaxis utilizada para definir xrange () es:





xrange(comienzo,fin,paso)

La función se utiliza para definir el rango de números desde (se incluye) hasta el final (no se incluye).

Parámetros

A continuación se muestra la lista de parámetros requeridos:



& emsp; Inicio: posición inicial de la secuencia numérica
& emsp; End: posición final de la secuencia numérica
& emsp; Paso: La distinción entre dos números consecutivos en la serie.

Ejemplos de

En el siguiente ejemplo, comprobaremos las formas de definir xrange.

Aquí, especificaremos solo la posición final.

Entonces, el valor final se establece en 5, y luego se imprime la posición final, como se muestra a continuación:

Ahora, veremos el método de llamar a range, la sintaxis para llamar al final será:

>>>x= xrange(fin)

Luego lo imprimiremos.

Obtendremos el rango en la salida, como se muestra arriba.

Ahora, definiremos tanto el punto inicial como el final. Aquí, el punto de inicio es 2 y el punto final es 5. Luego imprimimos las posiciones inicial y final, como se muestra a continuación:

Después de esto, crearemos una secuencia de números desde nuestros puntos inicial y final, es decir, del 2 al 5.

>>>y= xrange(comienzo,fin)

Finalmente, revisaremos el método para definir el punto de inicio, el paso y el punto final. Una vez que hayamos definido los tres parámetros; los llamaremos de forma similar al método que se muestra a continuación:

Ahora, para llamar al rango x para estos tres parámetros, usaremos la siguiente sintaxis:

>>>Con= xrange(comienzo,paso,fin)

Distancia ()

Range () se usa para crear una lista y es una función más rápida para múltiples iteraciones.

Sintaxis

Se utiliza la siguiente sintaxis:

>>> distancia(comienzo,fin,paso)

Ejemplos de

Para el primer caso, definiremos el valor final. La sintaxis utilizada para esto es:

>>> distancia(fin)

Entonces, en el ejemplo que se muestra a continuación, usaremos 3 como el valor final del rango. Cuando lo imprimimos, devuelve los valores, excluyendo el valor final.

En el siguiente ejemplo, usamos el ejemplo de describir el punto inicial y final. El valor comenzará en 1 y terminará en 10 (excluyéndolo). Se incluye el punto de partida, pero se omite el punto final. La sintaxis es similar a la que se muestra a continuación:

>>> distancia (comienzo,fin)

Entonces, definimos el punto de partida y luego el punto final, que es 1 y 10, respectivamente.

Ahora, en el siguiente ejemplo, tendremos la función paso. La función que define la brecha entre dos puntos cualesquiera dentro de la secuencia. El valor comenzará en 0 y terminará en 10 (excluyéndolo). La sintaxis utilizada se da a continuación:

>>> distancia (comienzo,paso,fin)

El ejemplo se da a continuación, donde 2 es el valor del paso.

Ventajas

distancia ()

Es más rápido si las iteraciones se van a realizar varias veces. range () solo tiene los valores de objeto entero en tiempo real. En términos de memoria, no se ejecuta bien.

xrange ()

Tiene que volver a crear el objeto entero cada vez. xrange () no lo es, ya que no es compatible con los métodos de lista y sectores. xrange () ocupa la misma cantidad de memoria. Entonces, en lo que respecta al rendimiento, especialmente cuando los usuarios están iterando sobre un valor de rango mayor, xrange () funciona mucho mejor.

Similitudes entre Python 2 y Python 3 range y xrange

El rango x de Python 2 tiene una representación descriptiva en forma de cadena, que es muy similar al valor del objeto de rango de Python 3.

El valor de xrange () en Python 2 es iterable, por lo que rang () en Python 3.

xrange () y range () tienen valores de punto de inicio, final y paso. En ambos casos, el paso es un campo opcional, al igual que el valor inicial.

Tanto xrange de Python 2 como 3 admiten una longitud que se puede indexar en orden directo o inverso. Aquí hay un ejemplo de lo mismo:

Diferencias entre range () y xrange ()

Dado que xrange () evalúa solo el objeto generador con los valores necesarios para la evaluación diferida, es más rápido de implementar en el rango (). range () ayuda a devolver la lista y tiene todos los objetos que se pueden usar, mientras que xrange () devuelve los objetos asociados con una lista y no se les puede aplicar para que podamos contarlo como una desventaja.

La variable utilizada en la función range () almacena el valor de range y, por lo tanto, ocupa mucha memoria en comparación con xrange () que solo ocupa parte de la memoria debido a las variables. range () devuelve un objeto de rango, mientras que xrange () devuelve un objeto generador.

La función de rango (1, 7, 2) devolverá la salida [1, 3, 5] y la entrada xrange (1, 7, 2) producirá la salida [1, 3, 5]. Así es como podemos suponer que son similares en el patrón.

Conclusión

range () y xrange () tienen características diferentes, como se discutió anteriormente. Todas las comparaciones mencionadas en este tutorial, junto con los ejemplos, serán útiles para que los lectores elijan mejor su método preferido en función de sus requisitos.