Python xrange vs. rango

Python xrange vs. rango
Hasta la versión 2 de Python.x, hubo un total de dos métodos subyacentes utilizados en este idioma para generar la lista de enteros dentro de un rango proporcionado. Los dos métodos se enumeran a continuación:

rango ()
xrange ()

Avanzando, con la última versión de Python (3 en adelante), se retiró el rango () y XRange () se cambió a Range (). Ahora en Python 3, solo hay una función para este método, yo.mi., rango (). 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 ()

XRange () se usa para crear una secuencia de números como la función Range ().

Sintaxis

La sintaxis utilizada para definir xRange () es:

xrange (inicio, finalización, paso)

La función se utiliza para definir el rango de números que comienzan (se incluye) hasta que el final (no está incluido).

Parámetros

El siguiente es la lista de parámetros requeridos:

Inicio: posición inicial de la secuencia de números
Fin: posición final de la secuencia numérica
Paso: la distinción entre dos números consecutivos en la serie.

Ejemplos

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

Aquí, solo especificaremos la posición final.

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

Ahora, veremos el método del rango de llamadas, la sintaxis para llamar al final será:

>>> x = xrange (final)

Entonces lo imprimiremos.

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

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

Después de esto, crearemos una secuencia de los números desde nuestros puntos de inicio y finalización, yo.mi., 2 a 5.

>>> y = xrange (inicio, finalizar)

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

Ahora, para llamar al Xrange para estos tres parámetros, utilizaremos la siguiente sintaxis:

>>> z = xrange (inicio, paso, final)

Rango ()

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

Sintaxis

Se usa la siguiente sintaxis:

>>> rango (comenzar, finalizar, paso)

Ejemplos

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

>>> rango (final)

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

En el ejemplo posterior, estamos utilizando el ejemplo de describir el punto de inicio y finalización. El valor comenzará a partir de 1 y finalizará a las 10 (excluyéndolo). Se incluye el punto de partida, pero se omite el punto final. La sintaxis es similar a la que se da a continuación:

>>> rango (inicio, final)

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

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

>>> rango (iniciar, pasar, fin)

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

Ventajas

rango ()

Es más rápido si las iteraciones se deben hacer 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 recrear el objeto entero cada vez. xRange () no es ya que no admite rebanadas y métodos de lista. xrange () toma la misma cantidad de memoria. Por lo tanto, en lo que respecta al rendimiento, especialmente cuando los usuarios están iterando en un valor de rango más grande, xRange () funciona mucho mejor.

Similitudes entre el rango de Python 2 y Python 3 y Xrange

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

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

xRange () y range () ambos tienen un paso, final y valores de punto de partida. En ambos casos, Step es un campo opcional, también lo es el valor de inicio.

Tanto Xrange de Python 2 como 3 Longitud de soporte que se puede indexar en orden hacia adelante o de reversa. Aquí hay un ejemplo de lo mismo:

Disimilidades entre el rango () y xRange ()

Dado que xRange () evalúa solo el objeto del generador con los valores necesarios por la evaluación perezosa, es más rápido implementar en el rango (). El rango () 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 puede aplicar a ellos para que podamos contarlo como una desventaja.

La variable utilizada en la función de rango () almacena el valor del rango y, por lo tanto, toma mucha memoria en comparación con xRange () que solo toma 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 según sus requisitos.