Het type bereik () retourneert een onveranderlijke reeks getallen tussen het opgegeven gehele startgetal en het gehele stopgetal.
range()
constructor heeft twee vormen van definitie:
bereik (stop) bereik (start, stop (, stap))
range () Parameters
range()
accepteert hoofdzakelijk drie argumenten die hetzelfde gebruik in beide definities hebben:
- start - geheel getal waarvan de reeks van gehele getallen moet worden geretourneerd
- stop - geheel getal waarvoor de reeks gehele getallen moet worden geretourneerd.
Het bereik van gehele getallen eindigt opstop - 1
. - step (optioneel) - integerwaarde die de toename tussen elk integer in de reeks bepaalt
Retourwaarde van bereik ()
range()
geeft een onveranderlijk reeksobject van getallen terug, afhankelijk van de gebruikte definities:
bereik (stop)
- Retourneert een reeks getallen beginnend bij
0
totstop - 1
- Retourneert een lege reeks als
stop
isnegative
of0
.
bereik (start, stop (, stap))
De geretourneerde waarde wordt berekend met de volgende formule met de gegeven beperkingen:
r (n) = start + stap * n (voor zowel positieve als negatieve stap) waarbij, n> = 0 en r (n) = 0 en r (n)> stop (voor negatieve stap)
- (Indien nee
step
) Stap wordt standaard ingesteld op 1. Geeft als resultaat een reeks getallen beginnend metstart
en eindigend opstop - 1
. - (if
step
is nul) Geeft eenValueError
uitzondering - (if
step
is niet-nul) Controleert of aan de waardebeperking is voldaan en retourneert een reeks volgens de formule.
Als deze niet aan de waardebeperking voldoet, wordt een lege reeks geretourneerd.
Voorbeeld 1: hoe werkt bereik in Python?
# empty range print(list(range(0))) # using range(stop) print(list(range(10))) # using range(start, stop) print(list(range(1, 10)))
Uitvoer
() (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (1, 2, 3, 4, 5, 6, 7, 8, 9)
Opmerking: we hebben het bereik geconverteerd naar een Python-lijst, omdat het range()
een generatorachtig object retourneert dat de uitvoer alleen op aanvraag afdrukt.
Het bereikobject dat door de bereikconstructor wordt geretourneerd, is echter ook toegankelijk via de bijbehorende index. Het ondersteunt zowel positieve als negatieve indices.
U kunt het bereikobject via index openen als:
rangeObject (index)
Voorbeeld 2: maak een lijst met een even getal tussen de opgegeven getallen met bereik ()
start = 2 stop = 14 step = 2 print(list(range(start, stop, step)))
Uitvoer
(2, 4, 6, 8, 10, 12)
Voorbeeld 3: hoe werkt range () met een negatieve stap?
start = 2 stop = -14 step = -2 print(list(range(start, stop, step))) # value constraint not met print(list(range(start, 14, step)))
Uitvoer
(2, 0, -2, -4, -6, -8, -10, -12) ()