Python

Python xrange vs. område

Python xrange vs. område
Till Python versjon 2.x, det var totalt to underliggende metoder som ble brukt på dette språket for å generere listen over heltall innenfor et gitt område. De to metodene er listet opp nedenfor:

område ()
xrange ()

Fremover, med den siste versjonen av Python (3 og utover), ble rekkevidde () trukket tilbake, og xrange () ble deretter endret til område (). Nå i Python 3 er det bare en funksjon for denne metoden, jeg.e., område (). I Python 3 er funksjonen range () bare en annen måte å implementere den eldre versjonen av xrange () av ​​python 2.x. Her vil vi relatere de to.

Xrange ()

Xrange () brukes til å lage en tallrekke som funksjonen range ().

Syntaks

Syntaksen som brukes til å definere xrange () er:

xrange (start, slutt, trinn)

Funksjonen brukes til å definere rekkevidden av tall som starter fra (er inkludert) til slutten (er ikke inkludert).

Parametere

Følgende er listen over nødvendige parametere:

Start: Startposisjon for nummerrekkefølgen
Slutt: Sluttposisjon for tallrekkefølgen
Trinn: Skillet mellom to påfølgende tall i serien.

Eksempler

I det følgende eksemplet vil vi sjekke måtene å definere xrange på.

Her vil vi bare spesifisere sluttposisjonen.

Så, sluttverdien er satt til 5, og deretter får vi sluttposisjonen skrevet ut, som vist nedenfor:

Nå vil vi se metoden for å ringe rekkevidde, syntaksen for å ringe slutten vil være:

>>> x = xrange (slutt)

Så får vi den skrevet ut.

Vi får rekkevidden i utdata, som vist ovenfor.

Nå skal vi definere både start- og sluttpunktene. Her er utgangspunktet 2, og sluttpunktet er 5. Vi skrev deretter ut start- og sluttposisjonene, som vist nedenfor:

Etter dette vil vi lage en sekvens av tallene fra start- og sluttpunktene, i.e., 2 til 5.

>>> y = xrange (start, slutt)

Til slutt vil vi sjekke ut metoden for å definere startpunktet, trinnet og sluttpunktet. Når vi har definert alle tre parametrene; vi vil kalle dem lik metoden vist nedenfor:

Nå, for å kalle xrange for disse tre parametrene, bruker vi følgende syntaks:

>>> z = xrange (start, trinn, slutt)

Område ()

Range () brukes til å lage en liste og er en raskere funksjon for flere iterasjoner.

Syntaks

Følgende syntaks brukes:

>>> rekkevidde (start, slutt, trinn)

Eksempler

For det første vil vi definere sluttverdien. Syntaksen som brukes til dette er:

>>> rekkevidde (slutt)

Så i eksemplet nedenfor, bruker vi 3 som områdets sluttverdi. Når vi får den skrevet ut, returnerer den verdiene, unntatt sluttverdien.

I det påfølgende eksemplet bruker vi eksemplet på å beskrive start- og sluttpunktet. Verdien begynner fra 1 og slutter kl 10 (ved å ekskludere den). Startpunktet er inkludert, men sluttpunktet er utelatt. Syntaksen ligner den som er gitt nedenfor:

>>> rekkevidde (start, slutt)

Så vi definerer startpunktet og deretter sluttpunktet, som er henholdsvis 1 og 10.

Nå, i det påfølgende eksemplet, vil vi ha trinnfunksjonen. Funksjonen som definerer gapet mellom to punkter i sekvensen. Verdien begynner fra 0 og slutter ved 10 (ved å ekskludere den). Syntaksen som er brukt er gitt nedenfor:

>>> rekkevidde (start, trinn, slutt)

Eksemplet er gitt nedenfor, hvor 2 er trinnverdien.

Fordeler

område ()

Det er raskere hvis gjentakelsene skal gjøres flere ganger. rekkevidde () har bare sanntids heltallobjektverdier. Når det gjelder minne, fungerer det ikke bra.

xrange ()

Det må gjenskape heltalsobjektet hver gang. xrange () er ikke siden den ikke støtter stykker og listemetoder. xrange () tar like mye minne. Så når det gjelder ytelse, spesielt når brukere itererer over en større verdi, yter xrange () mye bedre.

Likheter mellom Python 2 og Python 3 varierer og xrange

Python 2s xrange har en beskrivende representasjon i form av strengen, som er veldig lik Python 3s rekkeviddeobjektverdi.

Verdien av xrange () i Python 2 er iterabel, det er også rang () i Python 3.

xrange () og range () har begge trinn-, slutt- og startpunktverdier. I begge tilfeller er trinn et valgfritt felt, så også startverdien.

Både xrange av Python 2 og 3 støtter lengde som kan indekseres i forover eller omvendt rekkefølge. Her er et eksempel på det samme:

Ulikheter mellom område () og xrange ()

Siden xrange () bare vurderer generatorobjektet med verdiene som trengs av lat evaluering, er det raskere å implementere over området (). range () hjelper med å returnere listen og har alle objekter som kan brukes, mens xrange () returnerer objektene som er knyttet til en liste og ikke kan brukes på dem, slik at vi kan telle det som en ulempe.

Variabelen som brukes i rekkevidden () -funksjonen lagrer verdien av rekkevidden og tar dermed mye minne sammenlignet med xrange () som bare tar noe av minnet på grunn av variablene. range () returnerer et range-objekt mens xrange () returnerer et generator-objekt.

Området (1, 7, 2) -funksjonen vil returnere utgangen [1, 3, 5] og inngangen xrange (1, 7, 2) vil gi utgangen [1, 3, 5]. Slik kan vi anta at de er like i mønsteret.

Konklusjon

range () og xrange () har begge forskjellige egenskaper, som diskutert ovenfor. Alle sammenligninger som er nevnt i denne veiledningen, sammen med eksemplene, vil være nyttige for leserne å bedre velge deres foretrukne metode basert på deres krav.

Mus Topp 5 ergonomiske datamuseprodukter for Linux
Topp 5 ergonomiske datamuseprodukter for Linux
Gir langvarig bruk av datamaskiner smerter i håndleddet eller fingrene? Lider du av stive ledd og må hele tiden riste på deg hendene? Føler du en bren...
Mus Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
De fleste Linux-distribusjoner leveres med "libinput" -biblioteket som standard for å håndtere inngangshendelser på et system. Den kan behandle inngan...
Mus Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kanskje du trenger et verktøy som kan gjøre at musens kontroll endres med hvert program du bruker. Hvis dette er tilfelle, kan du prøve et program som...