Python xrange vs range

Python Xrange Vs Range



Do verzije Pythona 2.x postojale su ukupno dvije osnovne metode korištene u ovom jeziku za generiranje popisa cijelih brojeva unutar navedenog raspona. Dvije metode su navedene u nastavku:

raspon ()
xrange ()







Od najnovije verzije Pythona (3 nadalje) raspon () je povučen, a xrange () je zatim promijenjen u raspon (). Sada u Pythonu 3 postoji samo jedna funkcija za ovu metodu, tj. Range (). U Pythonu 3 funkcija range () samo je još jedan način implementacije starije verzije xrange () pythona 2.x. Ovdje ćemo povezati ovo dvoje.



Xrange ()

Xrange () se koristi za stvaranje niza brojeva poput funkcije range ().



Sintaksa

Sintaksa koja se koristi za definiranje xrange () je:





xrange(početak,kraj,korak)

Funkcija se koristi za definiranje raspona brojeva od (uključeno je) do kraja (nije uključeno).

Parametri

Slijedi popis potrebnih parametara:



& emsp; Start: Početna pozicija brojčanog niza
& emsp; Kraj: Završni položaj numeričkog niza
& emsp; Korak: Razlika između dva uzastopna broja u nizu.

Primjeri

U sljedećem primjeru provjerit ćemo načine definiranja xrangea.

Ovdje ćemo navesti samo krajnji položaj.

Dakle, krajnja vrijednost je postavljena na 5, a zatim ćemo ispisati krajnju poziciju, kao što je prikazano u nastavku:

Sada ćemo vidjeti metodu poziva raspona, sintaksa za kraj poziva bit će:

>>>x= xrange(kraj)

Tada ćemo ga tiskati.

Dobit ćemo raspon u izlazu, kao što je prikazano gore.

Sada ćemo definirati početnu i krajnju točku. Ovdje je početna točka 2, a završna točka 5. Zatim smo ispisali početnu i završnu poziciju, kao što je prikazano u nastavku:

Nakon toga ćemo stvarati niz brojeva od naše početne i završne točke, tj. 2 do 5.

>>>i= xrange(početak,kraj)

Na kraju ćemo provjeriti način definiranja početne točke, koraka i završne točke. Nakon što smo definirali sva tri parametra; nazvat ćemo ih slično dolje prikazanoj metodi:

Sada, za pozivanje xrange za ova tri parametra, koristit ćemo sljedeću sintaksu:

>>>S= xrange(početak,korak,kraj)

Raspon ()

Range () se koristi za stvaranje popisa i brža je funkcija za više ponavljanja.

Sintaksa

Koristi se sljedeća sintaksa:

>>> domet(početak,kraj,korak)

Primjeri

Za prvi slučaj definirat ćemo krajnju vrijednost. Sintaksa koja se koristi za to je:

>>> domet(kraj)

Dakle, u dolje navedenom primjeru koristit ćemo 3 kao krajnju vrijednost raspona. Kad ga ispišemo, vraća vrijednosti, isključujući krajnju vrijednost.

U sljedećem primjeru koristimo se primjerom opisa početne i završne točke. Vrijednost će početi od 1 i završiti s 10 (isključivanjem). Početna točka je uključena, ali završna točka je izostavljena. Sintaksa je slična onoj navedenoj u nastavku:

>>> domet (početak,kraj)

Dakle, definiramo početnu točku, a zatim i krajnju točku, koja je 1 odnosno 10.

Sada ćemo u sljedećem primjeru imati funkciju step. Funkcija koja definira jaz između bilo koje dvije točke unutar niza. Vrijednost će početi od 0 i završiti na 10 (isključivanjem). Korištena sintaksa navedena je u nastavku:

>>> domet (početak,korak,kraj)

Primjer je dan ispod, gdje je 2 vrijednost koraka.

Prednosti

raspon ()

Brže je ako se iteracije rade više puta. range () ima samo vrijednosti cijelog objekta u stvarnom vremenu. Što se tiče memorije, ne izvršava se dobro.

xrange ()

Svaki put mora ponovno stvoriti cijeli broj objekta. xrange () nije jer ne podržava kriške i metode popisa. xrange () zauzima istu količinu memorije. Dakle, što se tiče performansi, posebno kada korisnici ponavljaju kroz veći raspon vrijednosti, xrange () radi mnogo bolje.

Sličnosti između raspona i xrangea Pythona 2 i Pythona 3

Python 2 xrange ima opisni prikaz u obliku niza, koji je vrlo sličan vrijednosti objekta raspona Pythona 3.

Vrijednost xrange () u Pythonu 2 je ponovljiva, pa se rang () u Pythonu 3.

xrange () i range () imaju vrijednosti koraka, kraja i početne točke. U oba slučaja korak je izborno polje, pa je tako i početna vrijednost.

I xrange Python 2 i 3 podržavaju duljinu koja se može indeksirati prema naprijed ili unatrag. Evo primjera istog:

Različitosti između range () i xrange ()

Budući da xrange () procjenjuje samo objekt generatora s vrijednostima potrebnim za lijenu evaluaciju, brže se implementira preko raspona (). range () pomaže vratiti popis i ima sve objekte koji se mogu koristiti, dok xrange () vraća objekte povezane s popisom i ne može se na njih primijeniti, tako da to možemo računati kao nedostatak.

Varijabla koja se koristi u funkciji range () pohranjuje vrijednost raspona i stoga zauzima puno memorije u usporedbi s xrange () koja zauzima samo dio memorije zbog varijabli. range () vraća objekt raspona dok xrange () vraća objekt generatora.

Funkcija raspona (1, 7, 2) vratit će izlaz [1, 3, 5], a ulazni x raspon (1, 7, 2) će proizvesti izlaz [1, 3, 5]. Tako možemo pretpostaviti da su slični u obrascu.

Zaključak

range () i xrange () imaju različite karakteristike, kao što je gore objašnjeno. Sve usporedbe navedene u ovom vodiču, zajedno s primjerima, bit će korisne čitateljima da na temelju svojih zahtjeva bolje odaberu željenu metodu.