Python

Python xrange vs. rækkevidde

Python xrange vs. rækkevidde
Indtil Python version 2.x, der var i alt to underliggende metoder anvendt på dette sprog til at generere listen over heltal inden for et givet interval. De to metoder er anført nedenfor:

rækkevidde ()
xrange ()

Fremad med den nyeste version af Python (3 og frem) blev rækkevidde () trukket tilbage, og xrange () blev derefter ændret til rækkevidde (). Nu i Python 3 er der kun en funktion til denne metode, dvs.e., rækkevidde (). I Python 3 er funktionen range () bare en anden måde at implementere den ældre version af xrange () på python 2.x. Her vil vi fortælle de to.

Xrange ()

Xrange () bruges til at oprette en talrækkefølge som funktionen range ().

Syntaks

Syntaksen til at definere xrange () er:

xrange (start, slut, trin)

Funktionen bruges til at definere rækkevidden af ​​tal, der starter fra (er inkluderet) til slutningen (er ikke inkluderet).

Parametre

Følgende er listen over krævede parametre:

Start: Nummerpositionens startposition
Afslut: Slutposition for nummersekvensen
Trin: Sondringen mellem to på hinanden følgende tal i serien.

Eksempler

I det følgende eksempel vil vi kontrollere måderne til at definere xrange.

Her specificerer vi kun slutpositionen.

Så slutværdien er indstillet til 5, og derefter får vi slutpositionen udskrevet som vist nedenfor:

Nu vil vi se metoden til at kalde rækkevidde, syntaksen til opkaldsslutningen vil være:

>>> x = xrange (slut)

Så får vi det trykt.

Vi får rækkevidden i output, som vist ovenfor.

Nu definerer vi både start- og slutpunkter. Her er startpunktet 2, og slutpunktet er 5. Vi udskrev derefter start- og slutpositionerne som vist nedenfor:

Herefter opretter vi en række af numrene fra vores start- og slutpunkter, dvs.e., 2 til 5.

>>> y = xrange (start, slut)

Endelig vil vi tjekke metoden til at definere startpunktet, trin og slutpunkt. Når vi har defineret alle tre parametre; vi kalder dem svarende til metoden vist nedenfor:

For at kalde xrange for disse tre parametre bruger vi følgende syntaks:

>>> z = xrange (start, trin, slut)

Rækkevidde ()

Område () bruges til at oprette en liste og er en hurtigere funktion til flere iterationer.

Syntaks

Følgende syntaks anvendes:

>>> rækkevidde (start, slut, trin)

Eksempler

I det første tilfælde definerer vi slutværdien. Syntaksen til dette er:

>>> rækkevidde (slutning)

Så i eksemplet nedenfor bruger vi 3 som områdets slutværdi. Når vi får det udskrevet, returnerer det værdierne eksklusive slutværdien.

I det efterfølgende eksempel bruger vi eksemplet på at beskrive start- og slutpunktet. Værdien begynder fra 1 og slutter ved 10 (ved at ekskludere den). Startpunktet er inkluderet, men slutpunktet er udeladt. Syntaksen svarer til den nedenfor:

>>> rækkevidde (start, slut)

Så vi definerer startpunktet og derefter slutpunktet, som er henholdsvis 1 og 10.

Nu, i det efterfølgende eksempel, har vi trinfunktionen. Funktionen, der definerer afstanden mellem to punkter i sekvensen. Værdien begynder fra 0 og slutter ved 10 (ved at ekskludere den). Den anvendte syntaks er angivet nedenfor:

>>> rækkevidde (start, trin, slut)

Eksemplet er givet nedenfor, hvor 2 er trinværdien.

Fordele

rækkevidde ()

Det er hurtigere, hvis gentagelserne skal udføres flere gange. interval () har kun realtidsværdierne for heltalobjekter. Med hensyn til hukommelse udfører den ikke godt.

xrange ()

Det skal genskabe heltalets objekt hver gang. xrange () er ikke, da det ikke understøtter udsnit og listemetoder. xrange () tager den samme mængde hukommelse. Så hvad ydeevne angår, især når brugere gentager sig over en større rækkevidde, fungerer xrange () meget bedre.

Ligheder mellem Python 2 og Python 3 rækkevidde og xrange

Python 2s xrange har en beskrivende repræsentation i form af strengen, som ligner meget Python 3s rækkeviddeobjektværdi.

Værdien af ​​xrange () i Python 2 kan gentages, så også ringes () i Python 3.

xrange () og range () har begge trin-, slut- og startpunktværdier. I begge tilfælde er trin et valgfrit felt, så også startværdien.

Både xrange af Python 2 og 3 understøtter længde, der kan indekseres i fremad eller omvendt rækkefølge. Her er et eksempel på det samme:

Forskelle mellem rækkevidde () og xrange ()

Da xrange () kun vurderer generatorobjektet med de værdier, der er nødvendige for den dovne evaluering, er det hurtigere at implementere i området (). rækkevidde () hjælper med at returnere listen og har alle objekter, der kan bruges, mens xrange () returnerer de objekter, der er knyttet til en liste og ikke kan anvendes på dem, så vi kan tælle det som en ulempe.

Variablen, der bruges i området (), gemmer værdien af ​​området og tager derfor meget hukommelse sammenlignet med xrange (), der kun tager noget af hukommelsen på grund af variablerne. interval () returnerer et intervalobjekt, mens xrange () returnerer et generatorobjekt.

Funktionen for rækkevidde (1, 7, 2) returnerer output [1, 3, 5], og input xrange (1, 7, 2) vil producere output [1, 3, 5]. Sådan kan vi antage, at de ligner hinanden i mønsteret.

Konklusion

rækkevidde () og xrange () har begge forskellige egenskaber som beskrevet ovenfor. Alle sammenligninger nævnt i denne vejledning sammen med eksemplerne vil være nyttigt for læserne at vælge bedre deres foretrukne metode baseret på deres krav.

Mus Sådan vender du musens og touchpadsens rulle retning i Windows 10
Sådan vender du musens og touchpadsens rulle retning i Windows 10
Mus og Touchpads gør ikke kun computing let, men mere effektiv og mindre tidskrævende. Vi kan ikke forestille os et liv uden disse enheder, men det er...
Mus Sådan ændres musemarkør og markørstørrelse, farve og skema på Windows 10
Sådan ændres musemarkør og markørstørrelse, farve og skema på Windows 10
Musemarkøren og markøren i Windows 10 er meget vigtige aspekter af operativsystemet. Dette kan også siges om andre operativsystemer, så i sandhed er d...
Gratis og open source-spilmotorer til udvikling af Linux-spil
Denne artikel dækker en liste over gratis og open source-spilmotorer, der kan bruges til at udvikle 2D- og 3D-spil på Linux. Der er mange sådanne spil...