Python for Loop

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 valer 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

Flowchart of for Loop i Python

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 rangeobjekt 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, lenog __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 forslø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 forsløjfe kan også have en valgfri elseblok. Den elsedel udføres, hvis elementerne i sekvensen anvendes til loop udstødninger.

Den breaksø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 elseog udskriver Ingen varer tilbage.

Denne for… elseerklæring kan kun bruges med breaknøgleordet til at køre elseblokken, når breaknø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.

Interessante artikler...