Range () tipas grąžina nekintamą skaičių seką nuo nurodyto pradžios skaičiaus iki stop skaičiaus.
range()
konstruktorius turi dvi apibrėžimo formas:
diapazonas (sustabdyti) diapazonas (pradžia, sustabdymas (, žingsnis))
diapazonas () Parametrai
range()
daugiausia vartojami trys argumentai, naudojami vienodai abiejuose apibrėžimuose:
- pradžia - sveikasis skaičius, nuo kurio turi būti grąžinta sveikųjų skaičių seka
- stop - sveikasis skaičius, prieš kurį turi būti grąžinta sveikųjų skaičių seka.
Sveikųjų skaičių diapazonas baigiasistop - 1
. - žingsnis (pasirinktinai) - sveiko skaičiaus reikšmė, kuri nustato prieaugį tarp kiekvieno eilės skaičiaus
Grąžinimo vertė iš diapazono ()
range()
grąžina nekintamą skaičių sekos objektą, priklausomai nuo naudojamų apibrėžimų:
diapazonas (stop)
- Grąžina skaičių seka pradedant nuo
0
įstop - 1
- Pateikia tuščią seką, jei
stop
yranegative
arba0
.
diapazonas (pradžia, sustabdymas (, žingsnis))
Grąžinimo vertė apskaičiuojama pagal šią formulę su pateiktais apribojimais:
r (n) = pradžia + žingsnis * n (tiek teigiamam, tiek neigiamam žingsniui), kur n> = 0 ir r (n) = 0 ir r (n)> sustojimas (neigiamam žingsniui)
- (Jei ne
step
) Numatytasis žingsnis yra 1. Grąžina skaičių seką, prasidedančiąstart
ir besibaigiančiąstop - 1
. - (jei
step
yra nulis) IškeliaValueError
išimtį - (jei
step
nėra nulis) Patikrina, ar įvykdytas vertės apribojimas, ir pateikia seką pagal formulę.
Jei ji neatitinka vertės apribojimo, grąžinama tuščia seka.
1 pavyzdys: Kaip diapazonas veikia „Python“?
# empty range print(list(range(0))) # using range(stop) print(list(range(10))) # using range(start, stop) print(list(range(1, 10)))
Rezultatas
() (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (1, 2, 3, 4, 5, 6, 7, 8, 9)
Pastaba: Mes konvertuojome diapazoną į „Python“ sąrašą, nes range()
pateikiamas į generatorių panašus objektas, kuris spausdina išvestį tik pagal poreikį.
Tačiau diapazono konstruktoriaus grąžintą diapazono objektą taip pat galima pasiekti pagal jo indeksą. Tai palaiko ir teigiamus, ir neigiamus indeksus.
Galite pasiekti diapazono objektą pagal indeksą kaip:
rangeObject (rodyklė)
2 pavyzdys: sukurkite lyginių skaičių sąrašą tarp nurodytų skaičių naudodami diapazoną ()
start = 2 stop = 14 step = 2 print(list(range(start, stop, step)))
Rezultatas
(2, 4, 6, 8, 10, 12)
3 pavyzdys: Kaip diapazonas () veikia su neigiamu žingsniu?
start = 2 stop = -14 step = -2 print(list(range(start, stop, step))) # value constraint not met print(list(range(start, 14, step)))
Rezultatas
(2, 0, -2, -4, -6, -8, -10, -12) ()