Python for Loop

I denne artikkelen lærer du å gjenta over en sekvens av elementer ved hjelp av de forskjellige variantene av for loop.

Video: Python for Loop

Hva er for loop i Python?

For-sløyfen i Python brukes til å gjenta over en sekvens (liste, tuple, streng) eller andre iterable objekter. Iterering over en sekvens kalles traversal.

Syntaks for for Loop

 for val i rekkefølge: Kropp av for

Her valer variabelen som tar verdien av elementet inne i sekvensen på hver iterasjon.

Loop fortsetter til vi når det siste elementet i sekvensen. Kroppen til for loop er skilt fra resten av koden ved hjelp av innrykk.

Flytskjema for for Loop

Flytskjema for for Loop in 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 kjører programmet, vil utdataene være:

 Summen er 48

Funksjonen Range ()

Vi kan generere en sekvens av tall ved hjelp av range()funksjonen. range(10)vil generere tall fra 0 til 9 (10 tall).

Vi kan også definere start, stopp og trinnstørrelse som range(start, stop,step_size). step_size er som standard 1 hvis ikke oppgitt.

Den rangeobjektet er "lat" på en måte, fordi den ikke genererer hvert nummer som det "inneholder" når vi oppretter den. Men det er ikke en iterator siden den støtter in, lenog __getitem__operasjoner.

Denne funksjonen lagrer ikke alle verdiene i minnet; det ville være ineffektivt. Så den husker start, stopp, trinnstørrelse og genererer neste nummer på farten.

For å tvinge denne funksjonen til å sende ut alle elementene, kan vi bruke funksjonen list().

Følgende eksempel vil avklare dette.

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

Produksjon

 rekkevidde (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 bruke range()funksjonen i forsløyfer til å gjenta gjennom en sekvens av tall. Det kan kombineres med len()funksjonen for å iterere gjennom en sekvens ved hjelp av 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))

Produksjon

 Jeg liker pop Jeg liker rock Jeg liker jazz

for løkke med annet

En forsløyfe kan også ha en valgfri elseblokk. Den elsedel er utført dersom elementene i den rekkefølgen som ble brukt for sløyfe eksos.

Den breakordet kan brukes for å stoppe en til løkke. I slike tilfeller blir den andre delen ignorert.

Derfor kjører en for loop sin andre del hvis det ikke oppstår noe brudd.

Her er et eksempel for å illustrere dette.

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

Når du kjører programmet, vil utdataene være:

 0 1 5 Ingen gjenstander igjen.

Her skriver for-sløyfen ut elementer på listen til sløyfen er utmattet. Når for-sløyfen tømmes, utfører den kodeblokken i elseog skriver ut Ingen gjenstander igjen.

Denne for… elsepåstanden kan bare brukes med breaknøkkelordet for å kjøre elseblokken når breaknøkkelordet ikke ble utført. La oss ta 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.')

Produksjon

 Ingen oppføringer med det navnet funnet.

Interessante artikler...