I denne artikel lærer du at gentage en række elementer ved hjælp af de forskellige variationer af for loop.
Video: Python for Loop
Hvad er der til loop i Python?
For-sløjfen i Python bruges til at gentage en sekvens (liste, tuple, streng) eller andre iterable objekter. Iterering over en sekvens kaldes traversal.
Syntaks for for Loop
for val i rækkefølge: Body for
Her val
er variablen, der tager værdien af elementet inde i sekvensen på hver iteration.
Loop fortsætter, indtil vi når det sidste element i sekvensen. Kroppen af for loop er adskilt fra resten af koden ved hjælp af indrykning.
Flowchart of 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 kører programmet, vil output være:
Summen er 48
Funktionen Range ()
Vi kan generere en række af tal ved hjælp af range()
funktionen. range(10)
genererer tal fra 0 til 9 (10 tal).
Vi kan også definere start-, stop- og trinstørrelse som range(start, stop,step_size)
. step_size er som standard 1, hvis den ikke er angivet.
Den range
objekt er "dovne" i en vis forstand, fordi den ikke genererer hvert nummer at det "indeholder", når vi skaber den. Det er dog ikke en iterator da den understøtter in
, len
og __getitem__
operationer.
Denne funktion gemmer ikke alle værdier i hukommelsen; det ville være ineffektivt. Så det husker start, stop, trinstørrelse og genererer det næste nummer på farten.
For at tvinge denne funktion til at sende alle elementerne, kan vi bruge funktionen list()
.
Følgende eksempel vil tydeliggøre dette.
print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))
Produktion
rækkevidde (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 bruge range()
funktionen i for
sløjfer til at gentage gennem en række af tal. Det kan kombineres med len()
funktionen til at gentage gennem en sekvens ved hjælp af 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))
Produktion
Jeg kan godt lide pop Jeg kan godt lide rock Jeg kan godt lide jazz
til løkke med andet
En for
sløjfe kan også have en valgfri else
blok. Den else
del udføres, hvis elementerne i sekvensen anvendes til loop udstødninger.
Den break
søgeord kan bruges til at stoppe en for-løkke. I sådanne tilfælde ignoreres den anden del.
Derfor kører en for loop's anden del, hvis der ikke opstår nogen pause.
Her er et eksempel for at illustrere dette.
digits = (0, 1, 5) for i in digits: print(i) else: print("No items left.")
Når du kører programmet, vil output være:
0 1 5 Ingen varer tilbage.
Her udskriver for-sløjfen emner på listen, indtil sløjfen er udmattet. Når for-sløjfen udtømmer, udfører den kodeblokken i else
og udskriver Ingen varer tilbage.
Denne for… else
erklæring kan kun bruges med break
nøgleordet til at køre else
blokken, når break
nøgleordet ikke blev udført. Lad os tage 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.')
Produktion
Ingen post med dette navn fundet.