Python xrange vs. alue

Python Xrange Vs Range



Python -versioon 2.x saakka tällä kielellä käytettiin yhteensä kahta taustamenetelmää luodakseen luettelon kokonaisluvuista annetulla alueella. Kaksi menetelmää on lueteltu alla:

alue ()
xrange ()







Edessä Pythonin uusin versio (3 eteenpäin), alue () poistettiin ja xrange () muutettiin sitten alueeksi (). Nyt Python 3: ssa on vain yksi toiminto tälle menetelmälle, eli alue (). Python 3: ssa alue () -toiminto on vain yksi tapa toteuttaa python 2.x: n xrange (): n vanhempi versio. Tässä me yhdistämme nämä kaksi.



Xrange ()

Xrange (): a käytetään luomaan numerosarja, kuten alue () -funktio.



Syntaksi

Xrange (): n määrittämiseen käytetty syntaksi on:





xrange(alkaa,loppuun,askel)

Toiminnolla määritetään numeroalue alkaen (sisältyy) loppuun (ei sisälly).

Parametrit

Seuraavassa on luettelo pakollisista parametreista:



& emsp; Aloita: Numerosarjan aloituskohta
& emsp; Loppu: Numerosarjan loppupaikka
& emsp; Vaihe: Kahden peräkkäisen numeron ero sarjassa.

Esimerkkejä

Seuraavassa esimerkissä tarkastelemme tapoja määritellä xrange.

Tässä määritämme vain lopullisen sijainnin.

Joten, loppuarvo asetetaan 5: ksi, ja sitten tulostamme pääteaseman, kuten alla on esitetty:

Nyt näemme menetelmän soittaa alueelle, puhelun lopun syntaksi on:

>>>x= xrange(loppuun)

Sitten tulostamme sen.

Saamme alueen ulostulossa, kuten yllä on esitetty.

Nyt määritellään sekä lähtö- että päätepisteet. Tässä aloituspiste on 2 ja päätepiste 5. Tulostimme sitten alku- ja loppukohdat, kuten alla on esitetty:

Tämän jälkeen luomme numerosarjan aloitus- ja loppupisteistämme, ts. 2-5.

>>>ja= xrange(alkaa,loppuun)

Lopuksi tarkastelemme tapaa määritellä lähtökohta, vaihe ja päätepiste. Kun olemme määritelleet kaikki kolme parametria; kutsumme niitä samalla tavalla kuin alla esitetty menetelmä:

Jos haluat kutsua näiden kolmen parametrin xrange -aluetta, käytämme seuraavaa syntaksia:

>>>Kanssa= xrange(alkaa,askel,loppuun)

Alue ()

Alueella () luodaan luettelo ja se on nopeampi toiminto useille iteraatioille.

Syntaksi

Seuraavaa syntaksia käytetään:

>>> valikoima(alkaa,loppuun,askel)

Esimerkkejä

Ensimmäisessä tapauksessa määritämme loppuarvon. Tätä varten käytetty syntaksi on:

>>> valikoima(loppuun)

Joten alla olevassa esimerkissä käytämme alueen loppuarvona 3. Kun tulostamme sen, se palauttaa arvot, lukuun ottamatta loppuarvoa.

Seuraavassa esimerkissä käytämme alku- ja loppupisteen kuvaamisen esimerkkiä. Arvo alkaa 1: stä ja päättyy 10: een (jättämällä se pois). Lähtökohta on mukana, mutta loppupiste jätetään pois. Syntaksi on samanlainen kuin alla:

>>> valikoima (alkaa,loppuun)

Joten määritämme lähtöpisteen ja sitten päätepisteen, jotka ovat vastaavasti 1 ja 10.

Nyt seuraavassa esimerkissä meillä on askelfunktio. Funktio, joka määrittää kahden sekvenssin välisen aukon. Arvo alkaa nollasta ja päättyy arvoon 10 (jättämällä se pois). Käytetty syntaksi on esitetty alla:

>>> valikoima (alkaa,askel,loppuun)

Alla on esimerkki, jossa 2 on askelarvo.

Edut

alue ()

Se on nopeampi, jos iteroinnit on tehtävä useita kertoja. range () sisältää vain reaaliaikaiset kokonaislukuobjektiarvot. Muistin suhteen se ei toimi hyvin.

xrange ()

Sen on luotava kokonaislukuobjekti joka kerta. xrange () ei ole, koska se ei tue viipaleita ja luettelomenetelmiä. xrange () vie saman määrän muistia. Joten suorituskyvyn osalta, varsinkin kun käyttäjät iteroivat suuremman alueen arvon, xrange () toimii paljon paremmin.

Python 2: n ja Python 3: n alueen ja xrangen samankaltaisuudet

Python 2: n xrange -alueella on kuvaava esitys merkkijonon muodossa, joka on hyvin samanlainen kuin Python 3: n alueobjektin arvo.

Xrange (): n arvo Python 2: ssa on toistettavissa, joten Python 3: ssa soi ().

xrange (): lla ja range (): lla on sekä askel-, loppu- että aloituspistearvot. Molemmissa tapauksissa vaihe on valinnainen kenttä, samoin kuin aloitusarvo.

Python 2: n ja 3: n xrange -alue tukevat pituutta, joka voidaan indeksoida eteen- tai taaksepäin. Tässä on esimerkki samasta:

Erot alueen () ja xrange (): n välillä

Koska xrange () arvioi vain generaattoriobjektin laiskan arvioinnin tarvitsemilla arvoilla, se on nopeampi toteuttaa alueella (). range () auttaa palauttamaan luettelon ja sisältää kaikki käytettävät objektit, kun taas xrange () palauttaa luetteloon liittyvät objektit eikä niitä voida soveltaa niihin, jotta voimme laskea sen haittapuoleksi.

Range () -funktiossa käytetty muuttuja tallentaa alueen arvon ja vie siten paljon muistia verrattuna xrange (): een, joka vie vain osan muistista muuttujien vuoksi. range () palauttaa alueobjektin, kun taas xrange () palauttaa generaattoriobjektin.

Alue (1, 7, 2) -toiminto palauttaa lähdön [1, 3, 5] ja tulo xrange (1, 7, 2) tuottaa lähdön [1, 3, 5]. Näin voimme olettaa, että ne ovat samanlaisia ​​mallissa.

Johtopäätös

alueella () ja xrange () on molemmilla erilaiset ominaisuudet, kuten edellä keskusteltiin. Kaikki tässä opetusohjelmassa mainitut vertailut yhdessä esimerkkien kanssa auttavat lukijoita valitsemaan paremmin haluamansa menetelmän vaatimustensa perusteella.