Selles artiklis saate õppida kordama elementide järjestust, kasutades silmu erinevaid variatsioone.
Video: Python for Loop
Mis on Pythoni silmus?
Pythoni for-tsüklit kasutatakse järjestuse (loendi, dupleksi, stringi) või muude itereeritavate objektide kordamiseks. Järjestuse kordumist nimetatakse läbimiseks.
Loopi süntaks
for val järjestuses: for of
Siin val
on muutuja, mis võtab igal iteratsioonil järjestuse sees oleva üksuse väärtuse.
Silmus jätkub, kuni jõuame järjestuse viimase üksuseni. Silmuse for for body eraldatakse ülejäänud koodist taande abil.
Voodiagramm silmuse jaoks

Näide: 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)
Programmi käivitamisel on väljund järgmine:
Summa on 48
Funktsioon vahemik ()
range()
Funktsiooni abil saame genereerida arvude jada . range(10)
genereerib numbrid vahemikus 0 kuni 9 (10 numbrit).
Samuti võime määratleda alguse, peatuse ja sammu suuruse range(start, stop,step_size)
. step_size on vaikimisi väärtus 1, kui seda pole esitatud.
range
Objekt on "laisk" mõnes mõttes, sest see ei tekita iga number, et see "sisaldab", kui me luua. Kuid see ei ole iteraatoris kuna see toetab in
, len
ja __getitem__
operatsioone.
See funktsioon ei salvesta kõiki väärtusi mällu; see oleks ebaefektiivne. Nii et see mäletab algust, peatust, sammu suurust ja genereerib järgmise numbri liikvel olles.
Selle funktsiooni sundimiseks kõigi üksuste väljastamiseks saame seda funktsiooni kasutada list()
.
Järgmine näide selgitab seda.
print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))
Väljund
vahemik (0, 10) (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (2, 3, 4, 5, 6, 7) (2, 5, 8, 11, 14 , 17)
range()
Funktsiooni saab kasutada for
tsüklites arvude järjestuse kordamiseks. Seda saab kombineerida len()
funktsiooniga, et indekseerimise abil järjestuse kaudu itereerida. Siin on näide.
# 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))
Väljund
Mulle meeldib pop, mulle meeldib rokk, mulle meeldib džäss
silmuse jaoks muuga
for
Loop võib olla valikuline else
ploki samuti. else
Osa täidetakse juhul, kui objektide järjestust kasutatakse silmus heitgaasid.
break
Märksõna saab peatada jaoks silmus. Sellistel juhtudel eiratakse teist osa.
Seega töötab for for loopi teine osa, kui katkestust ei toimu.
Siin on näide selle illustreerimiseks.
digits = (0, 1, 5) for i in digits: print(i) else: print("No items left.")
Programmi käivitamisel on väljund järgmine:
0 1 5 Üksusi pole jäänud.
Siin prindib for for loop loendi üksusi seni, kuni silmus ammendub. Kui for loop tühjeneb, käivitab see koodiploki else
ja prindib ühtegi üksust alles.
Seda for… else
lauset saab kasutada koos break
märksõnaga else
ploki käivitamiseks ainult siis, kui break
märksõna ei käivitatud. Võtame näite:
# 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.')
Väljund
Selle nimega kirjet ei leitud.