Gamma Python vs. rang

Python Xrange Vs Range



Fins a la versió 2.x de Python, hi havia un total de dos mètodes subjacents utilitzats en aquest llenguatge per generar la llista d'enters dins d'un interval proporcionat. A continuació s’enumeren els dos mètodes:

range ()
xrange ()







Avançant, amb l'última versió de Python (3 en endavant), range () es va retirar i xrange () es va canviar a range (). Ara, a Python 3, només hi ha una funció per a aquest mètode, és a dir, range (). A Python 3, la funció range () és només una altra manera d'implementar la versió anterior de xrange () de python 2.x. Aquí, relacionarem els dos.



Xrange ()

La xrange () s'utilitza per crear una seqüència numèrica com la funció range ().



Sintaxi

La sintaxi utilitzada per definir xrange () és:





xrange(començar,final,pas)

La funció s’utilitza per definir l’interval de nombres que comencen des de (s’inclou) fins al final (no s’inclou).

Paràmetres

A continuació es mostra la llista de paràmetres obligatoris:



& emsp; Inici: posició inicial de la seqüència numèrica
& emsp; Final: posició final de la seqüència numèrica
& emsp; Pas: la distinció entre dos nombres consecutius de la sèrie.

Exemples

A l'exemple següent, comprovarem les maneres de definir xrange.

Aquí especificarem només la posició final.

Per tant, el valor final s’estableix com a 5 i, a continuació, s’imprimeix la posició final, tal com es mostra a continuació:

Ara, veurem el mètode d’interval de trucades, la sintaxi per finalitzar la trucada serà:

>>>x= xrange(final)

Després l’imprimirem.

Obtenirem l’interval de sortida, tal com es mostra més amunt.

Ara definirem els punts inicials i finals. Aquí, el punt de partida és 2 i el punt final és 5. A continuació, vam imprimir les posicions inicial i final, com es mostra a continuació:

Després d'això, crearem una seqüència de nombres des dels nostres punts inicials i finals, és a dir, del 2 al 5.

>>>i= xrange(començar,final)

Finalment, comprovarem el mètode per definir el punt de partida, el pas i el punt final. Un cop definits els tres paràmetres; els anomenarem de manera similar al mètode que es mostra a continuació:

Ara, per trucar a xrange per a aquests tres paràmetres, utilitzarem la sintaxi següent:

>>>Amb= xrange(començar,pas,final)

Rang ()

Range () s’utilitza per crear una llista i és una funció més ràpida per a diverses iteracions.

Sintaxi

S'utilitza la sintaxi següent:

>>> abast(començar,final,pas)

Exemples

Per al primer cas, definirem el valor final. La sintaxi utilitzada per a això és:

>>> abast(final)

Per tant, a l’exemple que es mostra a continuació, farem servir 3 com a valor final de l’interval. Quan l’imprimim, retorna els valors, excloent el valor final.

A l’exemple següent, fem servir l’exemple de descripció del punt inicial i final. El valor començarà a partir de l'1 i acabarà a 10 (excloent-lo). S'inclou el punt de partida, però s'omet el punt final. La sintaxi és similar a la que es mostra a continuació:

>>> abast (començar,final)

Per tant, definim el punt inicial i el punt final, que és 1 i 10, respectivament.

Ara, en l'exemple següent, tindrem la funció de pas. La funció que defineix la bretxa entre dos punts qualsevol dins de la seqüència. El valor començarà a partir de 0 i acabarà a 10 (excloent-lo). La sintaxi utilitzada es dóna a continuació:

>>> abast (començar,pas,final)

A continuació es mostra l'exemple, on 2 és el valor del pas.

Avantatges

range ()

És més ràpid si les iteracions s'han de fer diverses vegades. range () només té els valors de l'objecte enter en temps real. En termes de memòria, no s’executa bé.

xrange ()

Ha de recrear l'objecte enter cada vegada. xrange () no ho és, ja que no admet slices i mètodes de llista. xrange () té la mateixa quantitat de memòria. Per tant, pel que fa al rendiment, sobretot quan els usuaris estan iterant sobre un valor de rang més gran, xrange () té un rendiment molt millor.

Semblances entre Python 2 i Python 3 range i xrange

El xrange de Python 2 té una representació descriptiva en forma de cadena, que és molt similar al valor de l’objecte d’interval de Python 3.

El valor de xrange () a Python 2 és iterable, de manera que sonava () a Python 3.

xrange () i range () tenen valors de pas, final i punt de partida. En ambdós casos, el pas és un camp opcional, igual que el valor inicial.

Tant xrange de Python 2 com 3 suporten la longitud que es pot indexar en ordre endavant o invers. Aquí hi ha un exemple del mateix:

Disimilituds entre range () i xrange ()

Com que xrange () avalua només l'objecte generador amb els valors necessaris per a l'avaluació mandrosa, és més ràpid implementar-lo en l'interval (). range () ajuda a retornar la llista i té tots els objectes que es poden utilitzar, mentre que xrange () retorna els objectes associats a una llista i no se'ls pot aplicar perquè puguem comptar-la com a desavantatge.

La variable utilitzada a la funció range () emmagatzema el valor de l'interval i, per tant, requereix molta memòria en comparació amb xrange (), que només pren part de la memòria a causa de les variables. range () retorna un objecte range mentre que, xrange () retorna un objecte generador.

La funció de rang (1, 7, 2) retornarà la sortida [1, 3, 5] i la gamma x d'entrada (1, 7, 2) produirà la sortida [1, 3, 5]. Així és com podem suposar que són similars en el patró.

Conclusió

range () i xrange () tenen característiques diferents, tal com s'ha comentat anteriorment. Totes les comparacions esmentades en aquest tutorial, juntament amb els exemples, seran útils per als lectors per triar millor el mètode preferit en funció dels seus requisits.