Python xrange vs tartomány

Python Xrange Vs Range



A Python 2.x verziójáig összesen két alapvető módszert használtak ezen a nyelven a megadott tartományon belüli egész számok listájának létrehozásához. Az alábbiakban felsoroljuk a két módszert:

hatótávolság ()
xrange ()







Haladunk előre, a Python legújabb verziójával (3 -tól kezdve) a tartomány () visszavonásra került, és az xrange () ezután tartományra () változott. Most a Python 3 -ban csak egy függvény létezik ehhez a módszerhez, azaz a tartomány (). A Python 3 -ban a range () függvény csak egy másik módja a python 2.x xrange () régebbi verziójának megvalósításának. Itt összekapcsoljuk a kettőt.



Xrange ()

Az xrange () a számsorozat létrehozására szolgál, mint a range () függvény.



Szintaxis

Az xrange () meghatározásához használt szintaxis a következő:





xrange(Rajt,vége,lépés)

A funkció a számok tartományának meghatározására szolgál a (benne van) a végéig (nem tartozék).

Paraméterek

Az alábbiakban felsoroljuk a szükséges paramétereket:



& emsp; Start: A számsor kiindulási helyzete
& emsp; End: A számsor véghelyzete
& emsp; Lépés: A sorozat két egymást követő számának megkülönböztetése.

Példák

A következő példában megvizsgáljuk az xrange meghatározásának módjait.

Itt csak a véghelyzetet fogjuk megadni.

Tehát a végértéket 5 -re állítjuk, majd kinyomtatjuk a véghelyzetet, az alábbiak szerint:

Most látni fogjuk a tartomány hívásának módszerét, a hívásvég szintaxisa a következő lesz:

>>>x= xrange(vége)

Akkor kinyomtatjuk.

Megkapjuk a kimenet tartományát, ahogy fent látható.

Most meghatározzuk a kezdő és a végpontot is. Itt a kiindulási pont 2, a végpont pedig 5. Ezután kinyomtattuk a kezdő és befejező pozíciókat, az alábbiak szerint:

Ezt követően létrehozzuk a számok sorozatát a kezdő és a végpontunkból, azaz 2 -től 5 -ig.

>>>és= xrange(Rajt,vége)

Végül megvizsgáljuk a kezdőpont, a lépés és a végpont meghatározásának módszerét. Miután meghatároztuk mindhárom paramétert; az alábbi módszerhez hasonlóan hívjuk őket:

Most, hogy meghívjuk az xrange -t ehhez a három paraméterhez, a következő szintaxist fogjuk használni:

>>>Val vel= xrange(Rajt,lépés,vége)

Hatótávolság ()

A Range () lista létrehozására szolgál, és gyorsabb funkció több iterációhoz.

Szintaxis

A következő szintaxist használják:

>>> hatótávolság(Rajt,vége,lépés)

Példák

Az első esetben a végértéket határozzuk meg. Az ehhez használt szintaxis a következő:

>>> hatótávolság(vége)

Tehát az alábbi példában 3 -at fogunk használni a tartomány végértékeként. Amikor kinyomtatjuk, visszaadja az értékeket, kivéve a végértéket.

A következő példában a kezdő és a végpont leírásának példáját használjuk. Az érték 1 -től kezdődik és 10 -kor végződik (kizárásával). A kiindulópont benne van, de a végpont kimarad. A szintaxis hasonló az alábbiakhoz:

>>> hatótávolság (Rajt,vége)

Tehát meghatározzuk a kiindulópontot, majd a végpontot, ami 1, illetve 10.

Most a következő példában megkapjuk a lépésfüggvényt. A függvény, amely meghatározza a sorozat bármely két pontja közötti rést. Az érték 0 -tól kezdődik és 10 -nél végződik (kizárásával). A használt szintaxist az alábbiakban adjuk meg:

>>> hatótávolság (Rajt,lépés,vége)

A példát az alábbiakban adjuk meg, ahol 2 a lépés értéke.

Előnyök

hatótávolság ()

Gyorsabb, ha az iterációt többször kell elvégezni. A tartomány () csak a valós idejű egész objektumértékeket tartalmazza. Memória szempontjából nem működik jól.

xrange ()

Minden alkalommal újból létre kell hoznia az egész objektumot. Az xrange () nem, mivel nem támogatja a szeleteket és a listamódszereket. Az xrange () ugyanannyi memóriát foglal el. Tehát, ami a teljesítményt illeti, különösen, ha a felhasználók nagyobb tartományon belül iterálnak, az xrange () sokkal jobban teljesít.

Hasonlóságok a Python 2 és a Python 3 tartomány és az xrange között

A Python 2 xrange -je leíró jellegű ábrázolást tartalmaz karakterlánc formájában, ami nagyon hasonlít a Python 3 tartomány objektumértékéhez.

A xrange () értéke a Python 2 -ben megismételhető, így a csengetés () a Python 3 -ban.

Az xrange () és a range () egyaránt rendelkezik lépés, vég és kiindulópont értékekkel. Mindkét esetben a lépés nem kötelező mező, így a kezdőérték is.

A Python 2 és a 3 xrange egyaránt támogatja a hosszúságot, amely előre vagy fordított sorrendben indexelhető. Itt egy példa erre:

Különbségek a tartomány () és az xrange () között

Mivel az xrange () csak a generátor objektumot értékeli ki a lusta értékeléshez szükséges értékekkel, gyorsabb a tartományon belüli implementálása (). A tartomány () segít visszaadni a listát, és rendelkezik minden használható objektummal, míg az xrange () a listához tartozó objektumokat adja vissza, és nem alkalmazható rájuk, hogy hátrányként számolhassuk.

A tartomány () függvényben használt változó tárolja a tartomány értékét, és így sok memóriát vesz igénybe az xrange () -hoz képest, amely csak a memória egy részét foglalja el a változók miatt. A tartomány () egy tartományobjektumot ad vissza, míg az xrange () egy generátor objektumot.

A tartomány (1, 7, 2) funkció visszaadja a kimenetet [1, 3, 5], a bemeneti xrange (1, 7, 2) pedig a kimenetet [1, 3, 5]. Így feltételezhetjük, hogy a mintában hasonlóak.

Következtetés

A tartomány () és az xrange () egyaránt eltérő tulajdonságokkal rendelkezik, amint azt fentebb tárgyaltuk. Az oktatóanyagban említett összes összehasonlítás a példákkal együtt hasznos lesz az olvasók számára, hogy igényeik alapján jobban válasszák a kívánt módszert.