Zakres Pythona ()

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ę na stop - 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 0dostop - 1
  • Zwraca pustą sekwencję, jeśli stopjest negativelub 0.

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ę od starti kończących się na stop - 1.
  • (jeśli stepjest równe zero) Zgłasza ValueErrorwyjątek
  • (jeśli stepjest 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) () 

Interesujące artykuły...