Tip range () vrne nespremenljivo zaporedje števil med danim začetnim celim številom do zaustavitvenega števila.
range()
konstruktor ima dve obliki definicije:
obseg (stop) obseg (start, stop (, korak))
parametri obsega ()
range()
zajema predvsem tri argumente, ki se v obeh definicijah uporabljajo enako:
- start - celo število, od katerega se vrne zaporedje celih števil
- stop - celo število, pred katerim je treba vrniti zaporedje celih števil.
Razpon celih števil se konča pristop - 1
. - korak (neobvezno) - celoštevilska vrednost, ki določa prirastek med posameznimi celoštevilskimi zaporedji
Vrnjena vrednost iz obsega ()
range()
vrne nespremenljiv zaporedni objekt števil, odvisno od uporabljenih definicij:
doseg (stop)
- Vrne zaporedje številk, ki se začnejo od
0
dostop - 1
- Vrne prazno zaporedje, če
stop
jenegative
ali0
.
obseg (začetek, zaustavitev (, korak))
Vrnjena vrednost se izračuna po naslednji formuli z danimi omejitvami:
r (n) = začetek + korak * n (za pozitivni in negativni korak), kjer je n> = 0 in r (n) = 0 in r (n)> stop (za negativni korak)
- (Če ne
step
) Korak je privzeto 1. Vrne zaporedje številk, ki se začnejostart
in končajo nastop - 1
. - (če
step
je nič) PojaviValueError
izjemo - (če
step
ni nič) Preveri, ali je omejitev vrednosti izpolnjena, in vrne zaporedje v skladu s formulo.
Če ne ustreza omejitvi vrednosti, se vrne prazno zaporedje.
Primer 1: Kako obseg deluje v Pythonu?
# empty range print(list(range(0))) # using range(stop) print(list(range(10))) # using range(start, stop) print(list(range(1, 10)))
Izhod
() (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (1, 2, 3, 4, 5, 6, 7, 8, 9)
Opomba: Obseg smo pretvorili v seznam Python, saj range()
vrne objekt, podoben generatorju, ki natisne izhodne podatke samo na zahtevo.
Do predmeta obsega, ki ga vrne konstruktor obsega, pa je mogoče dostopati tudi s pomočjo njegovega indeksa. Podpira tako pozitivne kot negativne indekse.
Do predmeta obsega lahko dostopate po indeksu kot:
rangeObject (indeks)
Primer 2: Ustvari seznam soda števila med danimi številkami z uporabo obsega ()
start = 2 stop = 14 step = 2 print(list(range(start, stop, step)))
Izhod
(2, 4, 6, 8, 10, 12)
Primer 3: Kako obseg () deluje z negativnim korakom?
start = 2 stop = -14 step = -2 print(list(range(start, stop, step))) # value constraint not met print(list(range(start, 14, step)))
Izhod
(2, 0, -2, -4, -6, -8, -10, -12) ()