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
![](https://cdn.wiki-base.com/7695639/python_for_loop.jpg.webp)
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 range
objektet ä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
, len
och __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 for
slingor 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 for
slinga kan också ha ett valfritt else
block. Delen else
exekveras om objekten i sekvensen används för slinga avgaser.
Den break
nyckelord 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 else
och skriver ut Inga objekt kvar.
Detta for… else
uttalande kan användas med break
nyckelordet för att köra else
blocket endast när break
nyckelordet 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.