Python xrange vs range

Python Xrange Vs Range



Do različice Python 2.x sta v tem jeziku za ustvarjanje seznama celih števil v določenem obsegu uporabljali skupaj dve osnovni metodi. Spodaj sta navedeni dve metodi:

obseg ()
xrange ()







Z najnovejšo različico Pythona (od 3 naprej) je bil obseg () umaknjen, xrange () pa spremenjen v obseg (). Zdaj v Pythonu 3 obstaja samo ena funkcija za to metodo, to je obseg (). V Pythonu 3 je funkcija range () le še en način izvajanja starejše različice xrange () pythona 2.x. Tukaj bomo povezovali oboje.



Xrange ()

Xrange () se uporablja za ustvarjanje zaporedja številk, kot je funkcija range ().



Sintaksa

Sintaksa, uporabljena za opredelitev xrange (), je:





xrange(začetek,konec,korak)

Funkcija se uporablja za določanje obsega številk od (je vključeno) do konca (ni vključeno).

Parametri

Sledi seznam zahtevanih parametrov:



& emsp; Start: Začetni položaj zaporedja številk
& emsp; Konec: Končni položaj zaporedja številk
& emsp; Korak: Razlikovanje med dvema zaporednima številkama v nizu.

Primeri

V naslednjem primeru bomo preverili načine definiranja xrange.

Tu bomo podali samo končni položaj.

Tako je končna vrednost nastavljena na 5, nato pa natisnemo končni položaj, kot je prikazano spodaj:

Zdaj bomo videli način klicanja range, sintaksa za call end bo:

>>>x= xrange(konec)

Potem ga bomo dali natisniti.

Dobili bomo obseg v izhodu, kot je prikazano zgoraj.

Zdaj bomo opredelili tako začetno kot končno točko. Tu je izhodiščna točka 2, končna pa 5. Nato smo natisnili začetni in končni položaj, kot je prikazano spodaj:

Po tem bomo ustvarili zaporedje števil iz naše začetne in končne točke, to je 2 do 5.

>>>in= xrange(začetek,konec)

Na koncu bomo preverili še način določanja izhodišča, koraka in končne točke. Ko smo definirali vse tri parametre; imenovali jih bomo podobno kot spodaj prikazana metoda:

Za klic xrange za te tri parametre bomo uporabili naslednjo skladnjo:

>>>Z= xrange(začetek,korak,konec)

Razpon ()

Range () se uporablja za ustvarjanje seznama in je hitrejša funkcija za več ponovitev.

Sintaksa

Uporablja se naslednja sintaksa:

>>> obseg(začetek,konec,korak)

Primeri

V prvem primeru bomo opredelili končno vrednost. Za to se uporablja skladnja:

>>> obseg(konec)

Tako bomo v spodnjem primeru za končno vrednost obsega uporabili 3. Ko ga natisnemo, vrne vrednosti, razen končne vrednosti.

V naslednjem primeru uporabljamo primer opisa začetne in končne točke. Vrednost se bo začela od 1 in končala pri 10 (z izključitvijo). Začetna točka je vključena, končna točka pa je izpuščena. Sintaksa je podobna spodnji:

>>> obseg (začetek,konec)

Tako določimo začetno točko in nato končno točko, ki je 1 oziroma 10.

Zdaj bomo v naslednjem primeru imeli funkcijo step. Funkcija, ki definira vrzel med poljubnima dvema točkama v zaporedju. Vrednost se bo začela od 0 in končala pri 10 (z izključitvijo). Uporabljena skladnja je navedena spodaj:

>>> obseg (začetek,korak,konec)

Primer je podan spodaj, kjer je 2 vrednost koraka.

Prednosti

obseg ()

Hitreje je, če je treba ponovitve ponoviti večkrat. range () ima samo vrednosti celih števil v realnem času. V smislu spomina se ne izvaja dobro.

xrange ()

Vsakič mora znova ustvariti celoštevilčni predmet. xrange () ni, ker ne podpira rezin in metod seznamov. xrange () zavzame enako količino pomnilnika. Kar zadeva zmogljivost, še posebej, če uporabniki ponavljajo večji obseg, se xrange () obnese veliko bolje.

Podobnosti med Python 2 in Python 3 range in xrange

Python 2 ima xrange opisno predstavitev v obliki niza, ki je zelo podobna vrednosti predmeta obsega Python 3.

Vrednost xrange () v Pythonu 2 je ponovljiva, zato je rang () v Pythonu 3.

xrange () in range () imata vrednosti koraka, konca in začetne točke. V obeh primerih je korak neobvezno polje, zato je tudi začetna vrednost.

Oba xrange Python 2 in 3 podpirata dolžino, ki jo je mogoče indeksirati v naprej ali nazaj. Tu je primer istega:

Razlike med range () in xrange ()

Ker xrange () ovrednoti samo objekt generatorja z vrednostmi, ki jih potrebuje leno vrednotenje, je hitreje implementirano v območju (). range () pomaga vrniti seznam in vsebuje vse predmete, ki jih je mogoče uporabiti, medtem ko xrange () vrne predmete, povezane s seznamom, in jih nanje ni mogoče uporabiti, tako da ga lahko štejemo kot pomanjkljivost.

Spremenljivka, uporabljena v funkciji range (), shrani vrednost obsega in tako zavzame veliko pomnilnika v primerjavi s xrange (), ki zaradi spremenljivk vzame le del pomnilnika. range () vrne objekt obsega, xrange () pa generator generator.

Funkcija obsega (1, 7, 2) vrne izhod [1, 3, 5], vhodni obseg x (1, 7, 2) pa izhod [1, 3, 5]. Tako lahko domnevamo, da sta si po vzorcu podobna.

Zaključek

range () in xrange () imata različni lastnosti, kot je razloženo zgoraj. Vse primerjave, omenjene v tej vadnici, skupaj s primeri bodo v pomoč bralcem, da bodo glede na svoje zahteve bolje izbrali želeno metodo.