I denne artikkelen lærer du å gjenta over en sekvens av elementer ved hjelp av de forskjellige variantene av for loop.
Video: Python for Loop
Hva er for loop i Python?
For-sløyfen i Python brukes til å gjenta over en sekvens (liste, tuple, streng) eller andre iterable objekter. Iterering over en sekvens kalles traversal.
Syntaks for for Loop
for val i rekkefølge: Kropp av for
Her val
er variabelen som tar verdien av elementet inne i sekvensen på hver iterasjon.
Loop fortsetter til vi når det siste elementet i sekvensen. Kroppen til for loop er skilt fra resten av koden ved hjelp av innrykk.
Flytskjema for for Loop

Eksempel: Python for Loop
# Program to find the sum of all numbers stored in a list # List of numbers numbers = (6, 5, 3, 8, 4, 2, 5, 4, 11) # variable to store the sum sum = 0 # iterate over the list for val in numbers: sum = sum+val print("The sum is", sum)
Når du kjører programmet, vil utdataene være:
Summen er 48
Funksjonen Range ()
Vi kan generere en sekvens av tall ved hjelp av range()
funksjonen. range(10)
vil generere tall fra 0 til 9 (10 tall).
Vi kan også definere start, stopp og trinnstørrelse som range(start, stop,step_size)
. step_size er som standard 1 hvis ikke oppgitt.
Den range
objektet er "lat" på en måte, fordi den ikke genererer hvert nummer som det "inneholder" når vi oppretter den. Men det er ikke en iterator siden den støtter in
, len
og __getitem__
operasjoner.
Denne funksjonen lagrer ikke alle verdiene i minnet; det ville være ineffektivt. Så den husker start, stopp, trinnstørrelse og genererer neste nummer på farten.
For å tvinge denne funksjonen til å sende ut alle elementene, kan vi bruke funksjonen list()
.
Følgende eksempel vil avklare dette.
print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))
Produksjon
rekkevidde (0, 10) (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (2, 3, 4, 5, 6, 7) (2, 5, 8, 11, 14 , 17)
Vi kan bruke range()
funksjonen i for
sløyfer til å gjenta gjennom en sekvens av tall. Det kan kombineres med len()
funksjonen for å iterere gjennom en sekvens ved hjelp av indeksering. Her er et eksempel.
# Program to iterate through a list using indexing genre = ('pop', 'rock', 'jazz') # iterate over the list using index for i in range(len(genre)): print("I like", genre(i))
Produksjon
Jeg liker pop Jeg liker rock Jeg liker jazz
for løkke med annet
En for
sløyfe kan også ha en valgfri else
blokk. Den else
del er utført dersom elementene i den rekkefølgen som ble brukt for sløyfe eksos.
Den break
ordet kan brukes for å stoppe en til løkke. I slike tilfeller blir den andre delen ignorert.
Derfor kjører en for loop sin andre del hvis det ikke oppstår noe brudd.
Her er et eksempel for å illustrere dette.
digits = (0, 1, 5) for i in digits: print(i) else: print("No items left.")
Når du kjører programmet, vil utdataene være:
0 1 5 Ingen gjenstander igjen.
Her skriver for-sløyfen ut elementer på listen til sløyfen er utmattet. Når for-sløyfen tømmes, utfører den kodeblokken i else
og skriver ut Ingen gjenstander igjen.
Denne for… else
påstanden kan bare brukes med break
nøkkelordet for å kjøre else
blokken når break
nøkkelordet ikke ble utført. La oss ta et eksempel:
# program to display student's marks from record student_name = 'Soyuj' marks = ('James': 90, 'Jules': 55, 'Arthur': 77) for student in marks: if student == student_name: print(marks(student)) break else: print('No entry with that name found.')
Produksjon
Ingen oppføringer med det navnet funnet.