Typ range () vrací nezměnitelnou posloupnost čísel mezi daným počátečním celým číslem a celým zastavovacím číslem.
range()
konstruktor má dvě formy definice:
rozsah (stop) rozsah (start, stop (, krok))
range () Parametry
range()
trvá hlavně tři argumenty, které mají stejné použití v obou definicích:
- start - celé číslo počínaje od kterého má být vrácena sekvence celých čísel
- stop - celé číslo, před kterým má být vrácena sekvence celých čísel.
Rozsah celých čísel končí nastop - 1
. - step (Volitelné) - celočíselná hodnota, která určuje přírůstek mezi každým celým číslem v sekvenci
Návratová hodnota z rozsahu ()
range()
vrací neměnný sekvenční objekt čísel v závislosti na použitých definicích:
rozsah (stop)
- Vrátí posloupnost čísel začínajících od
0
dostop - 1
- Vrátí prázdnou sekvenci, pokud
stop
jenegative
nebo0
.
rozsah (start, stop (, krok))
Návratová hodnota se vypočítá podle následujícího vzorce s danými omezeními:
r (n) = start + krok * n (pro pozitivní i negativní krok) kde, n> = 0 a r (n) = 0 a r (n)> stop (pro negativní krok)
- (Pokud ne
step
) Výchozí hodnota kroku 1. Vrátí posloupnost čísel začínajícístart
a končící nastop - 1
. - (if
step
is zero) Raises aValueError
exception - (pokud
step
je nenulová) Zkontroluje, zda je splněno omezení hodnoty a vrátí posloupnost podle vzorce
Pokud nesplňuje omezení hodnoty, je vrácena Prázdná posloupnost.
Příklad 1: Jak funguje rozsah v Pythonu?
# empty range print(list(range(0))) # using range(stop) print(list(range(10))) # using range(start, stop) print(list(range(1, 10)))
Výstup
() (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (1, 2, 3, 4, 5, 6, 7, 8, 9)
Poznámka: Rozsah jsme převedli na seznam Pythonu, protože range()
vrací objekt podobný generátoru, který tiskne výstup pouze na vyžádání.
K objektu rozsahu vrácenému konstruktorem rozsahu však lze přistupovat také pomocí jeho indexu. Podporuje kladné i záporné indexy.
K objektu rozsahu můžete přistupovat pomocí indexu jako:
rangeObject (index)
Příklad 2: Vytvořte seznam sudých čísel mezi danými čísly pomocí range ()
start = 2 stop = 14 step = 2 print(list(range(start, stop, step)))
Výstup
(2, 4, 6, 8, 10, 12)
Příklad 3: Jak funguje range () s negativním krokem?
start = 2 stop = -14 step = -2 print(list(range(start, stop, step))) # value constraint not met print(list(range(start, 14, step)))
Výstup
(2, 0, -2, -4, -6, -8, -10, -12) ()