Python-bereik ()

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 op stop - 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 0totstop - 1
  • Retourneert een lege reeks als stopis negativeof 0.

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 met starten eindigend op stop - 1.
  • (if stepis nul) Geeft een ValueErroruitzondering
  • (if stepis 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) () 

Interessante artikelen...