Python for Loop

Tässä artikkelissa opit toistamaan elementtisarjan käyttämällä silmukan eri muunnelmia.

Video: Python for Loop

Mikä on silmukalle Pythonissa?

Pythonin for-silmukkaa käytetään iteroimaan sekvenssin (luettelo, dupleksi, merkkijono) tai muiden iteroitavien objektien yli. Jakson toistamista kutsutaan kulkemiseksi.

Loopin syntaksi

 for val peräkkäin: for of

Tässä valon muuttuja, joka ottaa kohteen arvon sekvenssistä kussakin iteraatiossa.

Silmukka jatkuu, kunnes saavutamme sarjan viimeisen kohteen. For -silmukan runko erotetaan muusta koodista sisennyksen avulla.

Vuokaavio silmukasta

Vuokaavio Loopista Pythonissa

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

Kun suoritat ohjelmaa, tulos on:

 Summa on 48

Alue () -toiminto

Voimme luoda numerosarjan range()funktion avulla. range(10)tuottaa numeroita 0-9 (10 numeroa).

Voimme myös määrittää alku-, lopetus- ja askelkokon range(start, stop,step_size). step_size on oletusarvoisesti 1, jos sitä ei toimiteta.

rangeKohde on "laiska" tavallaan, koska se ei tuota jokaisen numeron, että se "sisältää", kun luomme sen. Kuitenkin, se ei ole iteraattorin koska se tukee in, lenja __getitem__toimintaa.

Tämä toiminto ei tallenna kaikkia arvoja muistiin; se olisi tehotonta. Joten se muistaa alun, lopetuksen, askelkokon ja luo seuraavan numeron tien päällä.

Pakottaaksemme tämän toiminnon tuottamaan kaikki kohteet, voimme käyttää toimintoa list().

Seuraava esimerkki selventää tätä.

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

Tuotos

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

Voimme käyttää range()funktiota forsilmukoina iteroimaan numerosarjan läpi. Se voidaan yhdistää len()toimintoon iteroida sekvenssi indeksoinnin avulla. Tässä on esimerkki.

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

Tuotos

 Pidän popista Pidän rockista Pidän jazzista

silmukalle muun kanssa

forSilmukka voi olla valinnainen elselohko samoin. elseOsa suoritetaan, jos tuotetta käytetty sekvenssi silmukka pakokaasuihin.

breakAvainsanaa voidaan pysäyttää silmukka. Tällaisissa tapauksissa toinen osa jätetään huomiotta.

Siksi for for -silmukan toinen osa suoritetaan, jos katkeamista ei tapahdu.

Tässä on esimerkki tämän havainnollistamiseksi.

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

Kun suoritat ohjelmaa, tulos on:

 0 1 5 Ei tuotteita jäljellä.

Täällä for for loop tulostaa luettelon kohteita, kunnes silmukka loppuu. Kun for-silmukka loppuu, se suorittaa koodilohkon elseja tulostaa Ei kohteita jäljellä.

Tätä for… elselausetta voidaan käyttää breakavainsanan kanssa elseeston suorittamiseen vain, kun breakavainsanaa ei suoritettu. Otetaan esimerkki:

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

Tuotos

 Samannimistä merkintää ei löytynyt.

Mielenkiintoisia artikkeleita...