Piton

Python xrange vs. domet

Python xrange vs. domet
Do verzije Python 2.x, u ovom su jeziku korištene ukupno dvije temeljne metode za generiranje popisa cijelih brojeva unutar navedenog raspona. Dvije metode navedene su u nastavku:

raspon ()
xrange ()

Krećući se naprijed, s najnovijom verzijom Pythona (3 nadalje), range () je povučen, a xrange () je promijenjen u range (). Sada u Pythonu 3 postoji samo jedna funkcija za ovu metodu, tj.e., raspon (). U Pythonu 3, funkcija range () samo je još jedan način implementacije starije verzije xrange () pythona 2.x. Ovdje ćemo povezati to dvoje.

Xrange ()

Xrange () koristi se 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 počevši od (uključeno) do kraja (nije uključeno).

Parametri

Slijedi popis potrebnih parametara:

Početak: početni položaj niza brojeva
Kraj: Krajnji položaj niza brojeva
Korak: Razlika između dva uzastopna broja u nizu.

Primjeri

U sljedećem ćemo primjeru provjeriti načine definiranja xrange.

Ovdje ćemo navesti samo krajnji položaj.

Dakle, krajnja vrijednost je postavljena na 5, a zatim dobivamo ispisan krajnji položaj, kao što je prikazano dolje:

Sad ćemo vidjeti način pozivanja dometa, sintaksa završetka poziva bit će:

>>> x = xrange (kraj)

Tada ćemo ga tiskati.

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

Sada ćemo definirati i početnu i krajnju točku. Ovdje je početna točka 2, a završna točka 5. Zatim smo ispisali početni i završni položaj, kao što je prikazano dolje:

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

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

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

Sada, da bismo pozvali xrange za ova tri parametra, koristit ćemo sljedeću sintaksu:

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

Raspon ()

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

Sintaksa

Koristi se sljedeća sintaksa:

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

Primjeri

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

>>> raspon (kraj)

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

U sljedećem primjeru koristimo primjer opisivanja početne i završne točke. Vrijednost će započeti s 1 i završiti u 10 (izuzimajući je). Početna točka je uključena, ali završna točka je izostavljena. Sintaksa je slična onoj koja je data u nastavku:

>>> raspon (početak, kraj)

Dakle, definiramo početnu točku, a zatim 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 započeti od 0, a završiti u 10 (izuzimajući je). Upotrijebljena sintaksa data je u nastavku:

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

Primjer je dan u nastavku, gdje je 2 vrijednost koraka.

Prednosti

raspon ()

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

xrange ()

Svaki put mora ponovno stvoriti cjelobrojni objekt. xrange () nije jer ne podržava kriške i metode popisa. xrange () uzima istu količinu memorije. Dakle, što se tiče izvedbe, pogotovo kada korisnici ponavljaju veću vrijednost raspona, xrange () izvodi mnogo bolje.

Sličnosti između Python 2 i Python 3 raspona i xrange

Xrange Pythona 2 ima opisni prikaz u obliku niza, što je vrlo slično vrijednosti objekta raspona Python 3.

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

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

Oba xrange Pythona 2 i 3 podržavaju duljinu koja se može indeksirati prema naprijed ili obrnuto. Evo primjera istog:

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

Budući da xrange () procjenjuje samo objekt generatora s vrijednostima potrebnim za lijenu procjenu, brže je implementirati preko raspona (). range () pomaže vratiti popis i ima sve objekte koji se mogu koristiti, dok xrange () vraća objekte pridružene popisu i ne može se primijeniti na njih, tako da to možemo smatrati nedostatkom.

Varijabla koja se koristi u funkciji range () pohranjuje vrijednost raspona i tako uzima puno memorije u usporedbi s xrange () koji uzima 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 opseg xx (1, 7, 2) proizvodit će izlaz [1, 3, 5]. Tako možemo pretpostaviti da su slični po obrascu.

Zaključak

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

Najpopularnije laboratorijske igre Oculus App
Ako ste vlasnik slušalica Oculus, tada morate biti sigurni u bočno učitavanje. Bočno učitavanje postupak je instaliranja nehranjenog sadržaja na vaše ...
10 najboljih igara za igranje na Ubuntuu
Windows platforma bila je jedna od dominantnih platformi za igre zbog ogromnog postotka igara koje se danas razvijaju kako bi podržavale Windows. Može...
5 najboljih arkadnih igara za Linux
U današnje vrijeme računala su ozbiljni strojevi koji se koriste za igre na sreću. Ako ne uspijete dobiti novi visoki rezultat, znat ćete na što misli...