Python voor Loop

In dit artikel leer je een reeks elementen te herhalen met behulp van de verschillende variaties van for-lus.

Video: Python for Loop

Wat is een lus in Python?

De for-lus in Python wordt gebruikt om een ​​reeks (lijst, tuple, string) of andere itereerbare objecten te herhalen. Het herhalen van een reeks wordt traversal genoemd.

Syntaxis van for Loop

 voor val in volgorde: Body of for

Hier valis de variabele die bij elke iteratie de waarde van het item binnen de reeks aanneemt.

De lus gaat door totdat we het laatste item in de reeks bereiken. De body van de for-lus wordt gescheiden van de rest van de code door middel van inspringen.

Stroomdiagram van for Loop

Stroomdiagram van for Loop in Python

Voorbeeld: 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) 

Wanneer u het programma uitvoert, is de uitvoer:

 De som is 48

De range () functie

We kunnen een reeks getallen genereren met behulp van de range()functie. range(10)genereert cijfers van 0 tot 9 (10 cijfers).

We kunnen ook de start-, stop- en stapgrootte definiëren als range(start, stop,step_size). step_size is standaard ingesteld op 1 indien niet opgegeven.

Het rangeobject is in zekere zin "lui" omdat het niet elk nummer genereert dat het "bevat" wanneer we het maken. Het is echter niet een iterator omdat het ondersteunt in, lenen __getitem__operaties.

Deze functie slaat niet alle waarden in het geheugen op; het zou inefficiënt zijn. Dus het onthoudt de start, stop, stapgrootte en genereert onderweg het volgende nummer.

Om deze functie te forceren om alle items uit te voeren, kunnen we de functie gebruiken list().

Het volgende voorbeeld zal dit verduidelijken.

 print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))

Uitvoer

 bereik (0, 10) (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (2, 3, 4, 5, 6, 7) (2, 5, 8, 11, 14 , 17)

We kunnen de range()functie in forlussen gebruiken om een ​​reeks getallen te herhalen. Het kan worden gecombineerd met de len()functie om een ​​reeks te herhalen met behulp van indexering. Hier is een voorbeeld.

 # 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))

Uitvoer

 Ik hou van pop Ik hou van rock Ik hou van jazz

for loop met else

Een forlus kan ook een optioneel elseblok hebben. Het elsedeel wordt uitgevoerd als de items in de volgorde gebruikt worden voor lus uitlaten.

Het breaksleutelwoord kan worden gebruikt om een ​​for-lus te stoppen. In dergelijke gevallen wordt het else-gedeelte genegeerd.

Daarom wordt het else-gedeelte van een for-lus uitgevoerd als er geen onderbreking optreedt.

Hier is een voorbeeld om dit te illustreren.

 digits = (0, 1, 5) for i in digits: print(i) else: print("No items left.")

Wanneer u het programma uitvoert, is de uitvoer:

 0 1 5 Geen items over.

Hier drukt de for-lus items van de lijst af totdat de lus is uitgeput. Wanneer de for-lus uitgeput is, voert het het codeblok uit in de elseen drukt No items left af.

Deze for… elseinstructie kan samen met het breaksleutelwoord worden gebruikt om het elseblok alleen uit te voeren als het breaksleutelwoord niet is uitgevoerd. Laten we een voorbeeld nemen:

 # 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.')

Uitvoer

 Geen vermelding met die naam gevonden.

Interessante artikelen...