Python for Loop

I den här artikeln lär du dig att itera över en sekvens av element med hjälp av de olika varianterna av for loop.

Video: Python for Loop

Vad är för loop i Python?

For-loop i Python används för att itera över en sekvens (lista, tuple, sträng) eller andra iterabla objekt. Iterering över en sekvens kallas traversal.

Syntax av för Loop

 för val i sekvens: Kropp av för

Här valär variabeln som tar värdet av artikeln inuti sekvensen för varje iteration.

Loop fortsätter tills vi når det sista objektet i sekvensen. Kroppen för for loop är separerad från resten av koden med indrag.

Flödesschema för Loop

Flödesschema för för loop i Python

Exempel: 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ör programmet blir resultatet:

 Summan är 48

Funktionen Range ()

Vi kan skapa en sekvens av siffror med hjälp av range()funktionen. range(10)genererar nummer från 0 till 9 (10 nummer).

Vi kan också definiera start, stopp och stegstorlek som range(start, stop,step_size). step_size är som standard 1 om den inte tillhandahålls.

Den rangeobjektet är "lata" på sätt och vis, eftersom det inte genererar varje nummer som den "innehåller" när vi skapar den. Det är dock inte en iterator eftersom den stöder in, lenoch __getitem__operationer.

Denna funktion lagrar inte alla värden i minnet. det skulle vara ineffektivt. Så det kommer ihåg start, stopp, stegstorlek och genererar nästa nummer på språng.

För att tvinga den här funktionen att mata ut alla artiklar kan vi använda funktionen list().

Följande exempel klargör detta.

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

Produktion

 intervall (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 använda range()funktionen i forslingor för att iterera genom en sekvens av siffror. Det kan kombineras med len()funktionen för att iterera genom en sekvens med hjälp av indexering. Här är ett exempel.

 # 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

 Jag gillar pop Jag gillar rock Jag gillar jazz

för loop med annat

En forslinga kan också ha ett valfritt elseblock. Delen elseexekveras om objekten i sekvensen används för slinga avgaser.

Den breaknyckelord kan användas för att stoppa en for-loop. I sådana fall ignoreras den andra delen.

Därför körs en for loop's andra del om inget avbrott inträffar.

Här är ett exempel för att illustrera detta.

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

När du kör programmet blir resultatet:

 0 1 5 Inga artiklar kvar.

Här skriver for-loop ut objekt från listan tills slingan utmattas. När for-slingan utmattas kör den blocket av kod i elseoch skriver ut Inga objekt kvar.

Detta for… elseuttalande kan användas med breaknyckelordet för att köra elseblocket endast när breaknyckelordet inte kördes. Låt oss ta ett exempel:

 # 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 det namnet hittades.

Intressanta artiklar...