Piton

Python xrange vs. hatótávolság

Python xrange vs. hatótávolság
Addig a Python 2. verziójáig.x, összesen két mögöttes módszert használtak ezen a nyelven az egész számok listájának előállításához egy megadott tartományon belül. A két módszert az alábbiakban soroljuk fel:

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

Továbblépve a Python legújabb verziójával (3-tól tovább) a tartomány () visszavonásra került, majd az xrange () tartományra változott (). Most a Python 3-ban csak egy függvény létezik ehhez a módszerhez, azaz.e., hatótávolság (). A Python 3-ban a range () függvény csak egy másik módja a Python 2 xrange () régebbi verziójának megvalósításában.x. Itt fogjuk kapcsolatba hozni a kettőt.

Xrange ()

Az xrange () segítségével olyan számsorozatot hozhatunk létre, mint a range () függvény.

Szintaxis

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

xrange (kezdet, vég, lépés)

A funkció segítségével meghatározható a számtartomány kezdve (benne van) és a végéig (nincs benne).

Paraméterek

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

Start: A számsor kezdő pozíciója
Vége: A számsorozat befejező pozíciója
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 ellenőrizzük 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ás végének szintaxisa a következő lesz:

>>> x = xtartomány (vég)

Akkor kinyomtatjuk.

Megkapjuk a tartományt a kimenetben, a fentiek szerint.

Most meghatározzuk mind a kiindulási, mind a végpontokat. Itt a kiindulási pont 2, a végpont pedig 5. Ezután kinyomtattuk a kezdő és a végpontokat, az alábbiak szerint:

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

>>> y = xtartomány (kezdet, vég)

Végül megnézzük a kiindulási 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ábbiakban bemutatott módszerhez hasonlóan hívjuk őket:

Ennek a három paraméternek az xrange meghívásához a következő szintaxist fogjuk használni:

>>> z = xtartomány (kezdet, lépés, vég)

Hatótávolság ()

A Range () segítségével létrehozható egy lista, és gyorsabb függvény többszörös iterációkhoz.

Szintaxis

A következő szintaxist használjuk:

>>> tartomány (kezdet, vég, lépés)

Példák

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

>>> tartomány (vég)

Tehát az alábbi példában a 3-at fogjuk használni a tartomány végértékeként. Amikor kinyomtatjuk, a végértéket leszámítva visszaadja az értékeket.

A következő példában a kezdő és a végpont leírására használjuk a példát. Az érték 1-től kezdődik és 10-kor ér véget (kizárva). A kiindulási pont szerepel, de a végpont elmarad. A szintaxis hasonló az alábbiakhoz:

>>> tartomány (kezdet, vég)

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

Most a következő példában megkapjuk a step függvényt. Az a funkció, amely meghatározza a szekvencia bármely két pontja közötti rést. Az érték 0-tól kezdődik és 10-kor ér véget (kizárva). Az alkalmazott szintaxist az alábbiakban adjuk meg:

>>> tartomány (kezdet, lépés, vég)

Az alábbi példát adjuk meg, ahol 2 a lépésérték.

Előnyök

hatótávolság ()

Gyorsabb, ha az iterációkat többször is meg akarjuk hajtani. A range () csak a valós idejű egész objektum értékeket tartalmazza. Memória szempontjából nem hajtja végre jól.

xrange ()

Minden alkalommal újra 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 akkor, ha a felhasználók nagyobb tartományi értéken iterálnak, az xrange () sokkal jobban teljesít.

A Python 2 és a Python 3 közötti hasonlóság és az xrange

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

Az xrange () értéke a Python 2-ben iterálható, így a (() a Python 3-ban is.

Az xrange () és a range () egyaránt rendelkezik lépés-, vég- és kiindulási értékekkel. Mindkét esetben a lépés opcionális mező, csakúgy, mint a kezdő érték.

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

A tartomány () és az xrange () közötti eltérések

Mivel az xrange () csak a generátor objektumot értékeli a lusta értékeléshez szükséges értékekkel, gyorsabb a megvalósítása a tartományon (). A range () segít a lista visszaadásában, és minden használható objektumot tartalmaz, míg az xrange () a listához társított objektumokat adja vissza, és nem alkalmazható rájuk, így hátránynak számíthatjuk.

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

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

Következtetés

A tartomány () és az xrange () mindkettőnek különböző jellemzői vannak, amint azt fentebb tárgyaltuk. Az ebben az oktatóanyagban említett összes összehasonlítás, a példákkal együtt, hasznos lehet az olvasók számára, hogy igényeik alapján jobban választhassák ki a kívánt módszert.

A top 5 ergonómikus számítógépes egértermék Linuxhoz
Hosszan tartó számítógép-használat okoz-e fájdalmat a csuklóján vagy az ujjain?? Merev ízületek szenvednek, és folyamatosan kezet kell rázniuk? Égő fá...
Az egér és az érintőpad beállításainak módosítása az Xinput használatával Linux alatt
A legtöbb Linux disztribúció alapértelmezés szerint „libinput” könyvtárral szállítja a rendszer bemeneti eseményeit. Feldolgozhatja a Wayland és az X ...
Az X-Mouse Button Control segítségével az egér gombjait másképp alakíthatja át a különböző szoftvereknél
Lehet, hogy szüksége van egy eszközre, amely megváltoztathatja az egér vezérlését minden használt alkalmazással. Ebben az esetben kipróbálhatja az úgy...