Python

Python xrange vs. bereik

Python xrange vs. bereik
Tot de Python-versie 2.x, zijn er in totaal twee onderliggende methoden gebruikt in deze taal om de lijst met gehele getallen binnen een opgegeven bereik te genereren. De twee methoden worden hieronder vermeld:

bereik ()
xbereik ()

Vooruit, met de nieuwste versie van Python (3 en hoger), werd bereik () ingetrokken en werd xrange () vervolgens gewijzigd in bereik (). Nu is er in Python 3 maar één functie voor deze methode, i.e., bereik (). In Python 3 is de functie range () gewoon een andere manier om de oudere versie van xrange() van python 2 te implementeren.X. Hier zullen we de twee met elkaar in verband brengen.

X-range ()

De xrange () wordt gebruikt om een ​​getallenreeks te maken, zoals de functie range ().

Syntaxis

De syntaxis die wordt gebruikt om xrange () te definiëren is:

xrange(begin,eind,stap)

De functie wordt gebruikt om het bereik van getallen te definiëren vanaf (is inbegrepen) tot het einde (is niet inbegrepen).

Parameters:

Hieronder volgt de lijst met vereiste parameters:

Start: Startpositie van de nummerreeks
Einde: Eindpositie van de cijferreeks
Stap: Het onderscheid tussen twee opeenvolgende getallen in de reeks.

Voorbeelden

In het volgende voorbeeld zullen we de manieren bekijken om xrange te definiëren.

Hier specificeren we alleen de eindpositie.

Dus de eindwaarde is ingesteld op 5, en dan krijgen we de eindpositie afgedrukt, zoals hieronder weergegeven:

Nu zullen we de methode van het aanroepen van bereik zien, de syntaxis om het einde aan te roepen zal zijn:

>>> x = xbereik(einde)

Dan laten we het drukken.

We krijgen het bereik in de uitvoer, zoals hierboven weergegeven shown.

Nu zullen we zowel het begin- als het eindpunt definiëren. Hier is het startpunt 2 en het eindpunt 5. Vervolgens hebben we de start- en eindposities afgedrukt, zoals hieronder weergegeven:

Hierna zullen we een reeks van de getallen van onze begin- en eindpunten maken, i.e., 2 tot 5.

>>> y = xbereik (begin, einde)

Ten slotte zullen we de methode bekijken om het startpunt, de stap en het eindpunt te definiëren. Zodra we alle drie de parameters hebben gedefinieerd; we zullen ze noemen, vergelijkbaar met de onderstaande methode:

Om nu de xrange voor deze drie parameters aan te roepen, gebruiken we de volgende syntaxis:

>>> z = xbereik(begin,stap,eind)

Bereik ()

Bereik () wordt gebruikt om een ​​lijst te maken en is een snellere functie voor meerdere iteraties.

Syntaxis

De volgende syntaxis wordt gebruikt:

>>> bereik (begin, einde, stap)

Voorbeelden

Voor het eerste geval zullen we de eindwaarde definiëren. De syntaxis die hiervoor wordt gebruikt is:

>>> bereik(einde)

Dus in het onderstaande voorbeeld gebruiken we 3 als de eindwaarde van het bereik. Wanneer we het laten afdrukken, retourneert het de waarden, exclusief de eindwaarde.

In het volgende voorbeeld gebruiken we het voorbeeld van het beschrijven van het begin- en eindpunt. De waarde begint bij 1 en eindigt bij 10 (door deze uit te sluiten). Het startpunt is opgenomen, maar het eindpunt is weggelaten. De syntaxis is vergelijkbaar met die hieronder:

>>> bereik (begin, einde)

We definiëren dus het startpunt en vervolgens het eindpunt, dat respectievelijk 1 en 10 is.

In het volgende voorbeeld hebben we nu de stapfunctie. De functie die de opening definieert tussen twee willekeurige punten in de reeks. De waarde begint bij 0 en eindigt bij 10 (door deze uit te sluiten). De gebruikte syntaxis wordt hieronder gegeven:

>>> bereik (begin,stap,eind)

Het voorbeeld wordt hieronder gegeven, waarbij 2 de stapwaarde is.

Voordelen:

bereik ()

Het is sneller als de iteraties meerdere keren moeten worden uitgevoerd. bereik () heeft alleen de realtime integer-objectwaarden. Qua geheugen werkt het niet goed.

xrange()

Het moet het gehele object elke keer opnieuw maken. xrange() is dat niet omdat het geen slices en lijstmethoden ondersteunt. xrange() neemt dezelfde hoeveelheid geheugen in beslag. Dus wat de prestaties betreft, vooral wanneer gebruikers een grotere bereikwaarde herhalen, presteert xrange() veel beter.

Overeenkomsten tussen Python 2 en Python 3 range en xrange

De xrange van Python 2 heeft een beschrijvende weergave in de vorm van de tekenreeks, die erg lijkt op de waarde van het bereikobject van Python 3.

De waarde van xrange() in Python 2 is itereerbaar, net als rang() in Python 3.

xrange() en range() hebben beide een stap-, eind- en beginpunt. In beide gevallen is stap een optioneel veld, net als de startwaarde.

Beide xrange van Python 2 en 3 ondersteunen lengte die kan worden geïndexeerd in voorwaartse of omgekeerde volgorde. Hier is een voorbeeld van hetzelfde:

Verschillen tussen range() en xrange()

Omdat xrange() alleen het generatorobject evalueert met de waarden die nodig zijn voor de luie evaluatie, is het sneller om over het bereik() te implementeren. range () helpt bij het retourneren van de lijst en heeft alle objecten die kunnen worden gebruikt, terwijl xrange() de objecten retourneert die aan een lijst zijn gekoppeld en er niet op kunnen worden toegepast, zodat we het als een nadeel kunnen beschouwen.

De variabele die wordt gebruikt in de functie range () slaat de waarde van bereik op en neemt dus veel geheugen in beslag in vergelijking met xrange() dat slechts een deel van het geheugen in beslag neemt vanwege de variabelen. range () retourneert een bereikobject, terwijl xrange() een generatorobject retourneert.

De functie bereik (1, 7, 2) retourneert de uitvoer [1, 3, 5] en de invoer xrange (1, 7, 2) produceert de uitvoer [1, 3, 5]. Zo kunnen we aannemen dat ze vergelijkbaar zijn in het patroon.

Conclusie

range () en xrange() hebben beide verschillende kenmerken, zoals hierboven besproken. Alle vergelijkingen die in deze tutorial worden genoemd, samen met de voorbeelden, zullen de lezers helpen om hun voorkeursmethode beter te kiezen op basis van hun vereisten.

Beste opdrachtregelspellen voor Linux
De opdrachtregel is niet alleen je grootste bondgenoot bij het gebruik van Linux, hij kan ook de bron van entertainment zijn omdat je hem kunt gebruik...
Beste gamepad-toewijzingsapps voor Linux
Als je graag games op Linux speelt met een gamepad in plaats van een typisch toetsenbord- en muisinvoersysteem, zijn er enkele handige apps voor jou. ...
Handige hulpmiddelen voor Linux-gamers
Als je graag games op Linux speelt, is de kans groot dat je apps en hulpprogramma's zoals Wine, Lutris en OBS Studio hebt gebruikt om de game-ervaring...