Rozsah Pythonu ()

Typ range () vráti nemennú postupnosť čísel medzi daným začiatočným celým číslom a koncovým celým číslom.

range() konštruktor má dve formy definície:

 rozsah (stop) rozsah (štart, stop (, krok))

rozsah () parametre

range() trvá hlavne tri argumenty, ktoré majú rovnaké použitie v oboch definíciách:

  • start - celé číslo, od ktorého sa má vrátiť postupnosť celých čísel
  • stop - celé číslo, pred ktoré sa má vrátiť postupnosť celých čísel.
    Rozsah celých čísel končí na stop - 1.
  • step (Voliteľné) - celočíselná hodnota, ktorá určuje prírastok medzi každým celým číslom v poradí

Návratová hodnota z rozsahu ()

range() vráti nemenný objekt sekvencie čísel v závislosti od použitých definícií:

rozsah (stop)

  • Vráti postupnosť čísel začínajúcich od 0dostop - 1
  • Vráti prázdnu sekvenciu, ak stopje negativealebo 0.

rozsah (štart, stop (, krok))

Návratová hodnota sa počíta podľa nasledujúceho vzorca s danými obmedzeniami:

 r (n) = štart + krok * n (pre pozitívny aj negatívny krok) kde, n> = 0 a r (n) = 0 a r (n)> stop (pre negatívny krok)
  • (Ak nie step) Predvolený krok je 1. Vráti postupnosť čísel začínajúcich starta končiacich číslom stop - 1.
  • (ak stepje nula) Zvyšuje ValueErrorvýnimku
  • (ak stepje nenulová) Skontroluje, či je splnené obmedzenie hodnoty a vráti postupnosť podľa vzorca
    Ak nespĺňa obmedzenie hodnoty, vráti sa Prázdna postupnosť.

Príklad 1: Ako funguje rozsah v Pythone?

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

Výkon

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

Poznámka: Rozsah sme previedli na zoznam Python, pretože range()vracia objekt podobný generátoru, ktorý tlačí iba výstup na požiadanie.

K objektu rozsahu vrátenému konštruktorom rozsahu je však možné získať prístup aj z jeho indexu. Podporuje pozitívne aj negatívne indexy.

K objektu rozsahu môžete získať prístup pomocou indexu ako:

 rangeObject (index)

Príklad 2: Vytvorte zoznam párnych čísel medzi danými číslami pomocou rozsahu ()

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

Výkon

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

Príklad 3: Ako funguje rozsah () s negatívnym krokom?

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

Výkon

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

Zaujímavé články...