Python-alue ()

Alue () -tyyppi palauttaa muuttamattoman numerosarjan annetun kokonaislukun ja lopun kokonaisluvun välillä.

range() konstruktorilla on kaksi määritelmän muotoa:

 alue (pysäytys) alue (alku, pysäytys (, vaihe))

alue () Parametrit

range() ottaa pääasiassa kolme argumenttia, joilla on sama käyttö molemmissa määritelmissä:

  • alku - kokonaisluku, josta alkaen kokonaislukujen sarja on palautettava
  • stop - kokonaisluku, jota ennen kokonaislukujen sarja on palautettava.
    Kokonaislukujen alue päättyy stop - 1.
  • vaihe (valinnainen) - kokonaislukuarvo, joka määrittää jakson jokaisen kokonaisluvun välisen lisäyksen

Palautusarvo alueelta ()

range() palauttaa muuttumattoman numeroiden sekvenssiobjektin käytetyistä määritelmistä riippuen:

alue (pysäytys)

  • Palauttaa numerosarja alkaen 0jastop - 1
  • Palauttaa tyhjän jakson, jos se stopon negativetai 0.

alue (alku, pysäytys (, askel))

Palautusarvo lasketaan seuraavalla kaavalla annetuilla rajoituksilla:

 r (n) = alku + vaihe * n (sekä positiiviselle että negatiiviselle vaiheelle), jossa n> = 0 ja r (n) = 0 ja r (n)> lopetus (negatiiviselle vaiheelle)
  • (Jos ei step) Vaihe on oletusarvoisesti 1. Palauttaa numerosarjan, joka alkaa startja päättyy stop - 1.
  • (jos stepnolla) Korottaa ValueErrorpoikkeuksen
  • (jos stepei ole nolla) Tarkistaa, täyttyykö arvorajoitus, ja palauttaa kaavan mukaisen sekvenssin.
    Jos se ei täytä arvorajoitusta, Tyhjä sekvenssi palautetaan.

Esimerkki 1: Kuinka alue toimii Pythonissa?

 # empty range print(list(range(0))) # using range(stop) print(list(range(10))) # using range(start, stop) print(list(range(1, 10)))

Tuotos

 () (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (1, 2, 3, 4, 5, 6, 7, 8, 9) 

Huomautus: Olemme muuntaneet alueen Python-luetteloksi, sillä se range()palauttaa generaattorin kaltaisen objektin, joka tulostaa lähdön vain tarpeen mukaan.

Aluekonstruktorin palauttama alueobjekti voidaan kuitenkin käyttää myös sen indeksillä. Se tukee sekä positiivisia että negatiivisia indeksejä.

Voit käyttää alueobjektia hakemiston mukaan seuraavasti:

 rangeObject (hakemisto)

Esimerkki 2: Luo parillisten numeroiden luettelo annettujen numeroiden välille käyttämällä aluetta ()

 start = 2 stop = 14 step = 2 print(list(range(start, stop, step)))

Tuotos

 (2, 4, 6, 8, 10, 12) 

Esimerkki 3: Kuinka alue () toimii negatiivisen vaiheen kanssa?

 start = 2 stop = -14 step = -2 print(list(range(start, stop, step))) # value constraint not met print(list(range(start, 14, step)))

Tuotos

 (2, 0, -2, -4, -6, -8, -10, -12) () 

Mielenkiintoisia artikkeleita...