Typ range () zwraca niezmienną sekwencję liczb między podaną liczbą całkowitą początkową a liczbą całkowitą zatrzymania.
range()
Konstruktor ma dwie formy definicji:
zakres (stop) zakres (start, stop (, krok))
range () Parametry
range()
przyjmuje głównie trzy argumenty mające to samo zastosowanie w obu definicjach:
- start - liczba całkowita, od której ma zostać zwrócony ciąg liczb całkowitych
- stop - liczba całkowita, przed którą ma zostać zwrócony ciąg liczb całkowitych.
Zakres liczb całkowitych kończy się nastop - 1
. - step (Opcjonalnie) - wartość całkowita określająca przyrost pomiędzy każdą liczbą całkowitą w sekwencji
Wartość zwracana z zakresu ()
range()
zwraca niezmienny obiekt sekwencji liczb w zależności od użytych definicji:
zasięg (stop)
- Zwraca sekwencję liczb, zaczynając od
0
dostop - 1
- Zwraca pustą sekwencję, jeśli
stop
jestnegative
lub0
.
zakres (start, stop (, krok))
Wartość zwracana jest obliczana według następującego wzoru z podanymi ograniczeniami:
r (n) = start + krok * n (zarówno dla kroku dodatniego, jak i ujemnego), gdzie, n> = 0 i r (n) = 0 i r (n)> stop (dla kroku ujemnego)
- (Jeśli nie
step
) Krok domyślnie wynosi 1. Zwraca sekwencję liczb zaczynających się odstart
i kończących się nastop - 1
. - (jeśli
step
jest równe zero) ZgłaszaValueError
wyjątek - (jeśli
step
jest różna od zera) Sprawdza, czy ograniczenie wartości jest spełnione i zwraca sekwencję zgodnie z formułą.
Jeśli nie spełnia ona ograniczenia wartości, zwracana jest sekwencja pusta .
Przykład 1: Jak działa zakres w Pythonie?
# empty range print(list(range(0))) # using range(stop) print(list(range(10))) # using range(start, stop) print(list(range(1, 10)))
Wynik
() (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (1, 2, 3, 4, 5, 6, 7, 8, 9)
Uwaga: przekonwertowaliśmy zakres na listę Pythona, ponieważ range()
zwraca obiekt podobny do generatora, który drukuje dane wyjściowe tylko na żądanie.
Jednak do obiektu zakresu zwróconego przez konstruktor zakresu można również uzyskać dostęp za pomocą jego indeksu. Obsługuje zarówno pozytywne, jak i negatywne wskaźniki.
Możesz uzyskać dostęp do obiektu zakresu według indeksu jako:
rangeObject (indeks)
Przykład 2: Utwórz listę parzystych liczb między podanymi liczbami za pomocą range ()
start = 2 stop = 14 step = 2 print(list(range(start, stop, step)))
Wynik
(2, 4, 6, 8, 10, 12)
Przykład 3: Jak działa range () z ujemnym krokiem?
start = 2 stop = -14 step = -2 print(list(range(start, stop, step))) # value constraint not met print(list(range(start, 14, step)))
Wynik
(2, 0, -2, -4, -6, -8, -10, -12) ()