Python xrange prieš diapazoną

Python Xrange Vs Range



Iki „Python“ 2.x versijos šia kalba iš viso buvo naudojami du pagrindiniai metodai, skirti sugeneruoti sveikųjų skaičių sąrašą, esantį nurodytame diapazone. Du metodai yra išvardyti žemiau:

diapazonas ()
xrange ()







Judant į priekį, naudojant naujausią „Python“ versiją (nuo 3 metų), diapazonas () buvo panaikintas, o „xrange“ () buvo pakeistas į diapazoną (). Dabar „Python 3“ yra tik viena šio metodo funkcija, ty diapazonas (). „Python 3“ funkcija diapazonas () yra tik dar vienas būdas įdiegti senesnę „python 2.x“ xrange () versiją. Čia mes siejame abu.



Xrange ()

„Xrange“ () naudojamas skaičių sekoms, tokioms kaip „range“ (), sukurti.



Sintaksė

Sintaksė, naudojama apibrėžti xrange ():





xrange(pradėti,galas,žingsnis)

Funkcija naudojama apibrėžti skaičių diapazoną nuo (įtraukta) iki pabaigos (neįtraukta).

Parametrai

Toliau pateikiamas būtinų parametrų sąrašas:



& emsp; Pradėti: pradinė skaičių sekos padėtis
& emsp; Pabaiga: skaičių sekos pabaigos vieta
& emsp; Žingsnis: Skirtumas tarp dviejų iš eilės einančių skaičių.

Pavyzdžiai

Šiame pavyzdyje mes patikrinsime xrange apibrėžimo būdus.

Čia mes nurodysime tik galutinę padėtį.

Taigi, galutinė vertė nustatoma kaip 5, tada mes atspausdiname galutinę padėtį, kaip parodyta žemiau:

Dabar pamatysime skambinimo diapazono metodą, skambučio pabaigos sintaksė bus tokia:

>>>x= xrange(galas)

Tada mes jį atspausdinsime.

Mes gausime išvesties diapazoną, kaip parodyta aukščiau.

Dabar mes apibrėšime ir pradžios, ir pabaigos taškus. Čia pradžios taškas yra 2, o pabaigos taškas yra 5. Tada mes atspausdinome pradžios ir pabaigos pozicijas, kaip parodyta žemiau:

Po to sukursime skaičių seką nuo pradžios ir pabaigos taškų, ty nuo 2 iki 5.

>>>ir= xrange(pradėti,galas)

Galiausiai apžvelgsime pradžios taško, žingsnio ir pabaigos taško apibrėžimo metodą. Apibrėžę visus tris parametrus; mes juos vadinsime panašiais į žemiau pateiktą metodą:

Dabar, norėdami iškviesti šių trijų parametrų xrange, naudosime šią sintaksę:

>>>Su= xrange(pradėti,žingsnis,galas)

Diapazonas ()

Range () naudojamas sąrašui sukurti ir yra greitesnė kelių pakartojimų funkcija.

Sintaksė

Naudojama ši sintaksė:

>>> diapazonas(pradėti,galas,žingsnis)

Pavyzdžiai

Pirmuoju atveju mes nustatysime galutinę vertę. Tam naudojama sintaksė:

>>> diapazonas(galas)

Taigi žemiau pateiktame pavyzdyje kaip galutinę diapazono vertę naudosime 3. Kai jį atspausdiname, jis grąžina vertes, išskyrus galutinę vertę.

Vėlesniame pavyzdyje mes naudojame pradžios ir pabaigos taško aprašymo pavyzdį. Vertė prasidės nuo 1 ir baigsis 10 (ją neįtraukus). Pradinis taškas įtrauktas, tačiau pabaigos taškas praleistas. Sintaksė panaši į žemiau pateiktą:

>>> diapazonas (pradėti,galas)

Taigi, mes apibrėžiame pradinį ir galutinį taškus, atitinkamai 1 ir 10.

Dabar kitame pavyzdyje turėsime žingsnio funkciją. Funkcija, kuri apibrėžia atotrūkį tarp bet kurių dviejų sekos taškų. Vertė prasidės nuo 0 ir baigsis 10 (ją neįtraukus). Naudojama sintaksė pateikta žemiau:

>>> diapazonas (pradėti,žingsnis,galas)

Žemiau pateiktas pavyzdys, kur 2 yra žingsnio vertė.

Privalumai

diapazonas ()

Tai greitesnis, jei kartojimai turi būti atlikti kelis kartus. diapazonas () turi tik realiojo laiko sveikojo objekto reikšmes. Kalbant apie atmintį, jis neveikia gerai.

xrange ()

Jis kiekvieną kartą turi atkurti sveiką skaičių objektą. „xrange“ () nėra, nes nepalaiko skilčių ir sąrašo metodų. xrange () užima tiek pat atminties. Taigi, kalbant apie našumą, ypač kai vartotojai kartoja didesnę diapazono vertę, „xrange“ () veikia daug geriau.

Panašumai tarp „Python 2“ ir „Python 3“ diapazono ir „xrange“

„Python 2“ xrange turi aprašomąjį vaizdą eilutės pavidalu, kuris yra labai panašus į „Python 3“ diapazono objekto vertę.

„Xrange“ () reikšmė „Python 2“ yra pasikartojanti, todėl skambinama () „Python 3“.

xrange () ir range () turi žingsnio, pabaigos ir pradžios taško reikšmes. Abiem atvejais žingsnis yra neprivalomas laukas, taip pat ir pradžios vertė.

Tiek „Python 2“, tiek „3“ diapazonas palaiko ilgį, kurį galima indeksuoti pirmyn arba atvirkštine tvarka. Štai to paties pavyzdys:

Diapazono () ir xrange () skirtumai

Kadangi „xrange“ () įvertina tik generatoriaus objektą su reikšmėmis, kurių reikia tingiam vertinimui, tai greičiau įgyvendinti diapazone (). diapazonas () padeda grąžinti sąrašą ir turi visus objektus, kuriuos galima naudoti, o xrange () grąžina su sąrašu susietus objektus ir negali būti jiems pritaikytas, kad galėtume jį laikyti nepalankiu.

Funkcijoje range () naudojamas kintamasis saugo diapazono vertę ir todėl užima daug atminties, palyginti su xrange (), kuris dėl kintamųjų užima tik dalį atminties. diapazonas () grąžina diapazono objektą, o xrange () grąžina generatoriaus objektą.

Diapazono (1, 7, 2) funkcija grąžins išvestį [1, 3, 5], o įvesties xrange (1, 7, 2) - išvestį [1, 3, 5]. Štai kaip mes galime manyti, kad jie yra panašūs į modelį.

Išvada

diapazonas () ir xrange () turi skirtingas charakteristikas, kaip aptarta aukščiau. Visi šiame vadove paminėti palyginimai kartu su pavyzdžiais padės skaitytojams geriau pasirinkti pageidaujamą metodą, atsižvelgiant į jų reikalavimus.