range() este o funcție încorporată care îți dă o secvență imutabilă de numere, iar cea mai obișnuită utilizare a ei este să facă o buclă să ruleze de un anumit număr de ori.
Secvența aparține unui tip de date propriu, numit range.
Notă: Ceva imutabil rămâne exact așa cum a fost creat; nu poate fi modificat ulterior.
Crearea intervalelor
Îi poți transmite lui range() 1, 2 sau 3 argumente. Sintaxa completă arată așa:
range(start, stop, step)
Apelarea range() cu un singur argument
Un singur argument este tratat ca valoarea stop.
Dacă omiți start, care este opțional, numărarea începe implicit de la 0.
Așadar, range(10) produce numerele de la 0 la 9: valoarea de start 0 este inclusă, iar valoarea de stop 10 nu.
x = range(10)
Apelarea range() cu două argumente
Cu două argumente, primul este valoarea start, iar al doilea este valoarea stop.
Așadar, range(3, 10) produce numerele de la 3 la 9:
x = range(3, 10)
Apelarea range() cu trei argumente
Al treilea argument stabilește valoarea step.
Pasul este distanța dintre un număr și următorul. Îl poți omite, iar atunci are implicit valoarea 1.
Așadar, range(3, 10, 2) numără de la 3 până la 9, cu pasul 2:
x = range(3, 10, 2)
Utilizarea intervalelor
Un loc foarte obișnuit în care găsești un interval este o buclă for, care îi parcurge numerele unul câte unul.
Exemplu
Afișează fiecare număr dintr-un interval:
Ieșire: program Python complet
for i in range(10):
print(i)
Utilizarea listelor pentru afișarea intervalelor
Un obiect range este o secvență imutabilă de numere de sine stătătoare, iar afișarea lui nu îi enumeră numerele.
Ca să le vezi, de obicei transformi mai întâi intervalul într-o listă.
Exemplu
Transformă câteva intervale diferite în liste:
Ieșire: program Python complet
print(list(range(5)))
print(list(range(1, 6)))
print(list(range(5, 20, 3)))
Felierea intervalelor
La fel ca în cazul altor secvențe, poți felia un interval ca să extragi o parte din el.
Notă: În acest exemplu, primul print afișează valoarea de la indexul 2, iar al doilea afișează un nou obiect range care acoperă indexurile de la 0 la 3.
Exemplu
Extrage o bucată dintr-un interval:
Ieșire: program Python complet
r = range(10)
print(r[2])
print(r[:3])
Testarea apartenenței
Operatorul in îți permite să testezi dacă un interval conține un număr.
Obții True dacă numărul se află în interval și False dacă nu se află.
Exemplu
Află dacă 6 și 7 aparțin unui interval:
Ieșire: program Python complet
r = range(0, 10, 2)
print(6 in r)
print(7 in r)
Lungimea
Transmite un interval funcției len() și ea îți spune câte elemente are intervalul.
Exemplu
Numără elementele unui interval:
Ieșire: program Python complet
r = range(0, 10, 2)
print(len(r))