Ebben a cikkben megtanulja az elemek sorozatának ismétlését a ciklus különböző variációinak felhasználásával.
Videó: Python for Loop
Mi a loop a Pythonban?
A Python for ciklusát egy sorozat (lista, tuple, karakterlánc) vagy más iterálható objektumok iterációjára használják. A szekvencián történő iterációt átmenésnek nevezzük.
A hurok szintaxisa
for val sorrendben: Body of for
Itt val
látható az a változó, amely az egyes iterációkon a sorozaton belüli elem értékét veszi fel.
A hurok addig folytatódik, amíg el nem érjük a sorozat utolsó elemét. A for ciklus törzsét behúzással választják el a kód többi részétől.
A Loop folyamatábrája

Példa: 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)
A program futtatásakor a kimenet a következő lesz:
Az összeg 48
A tartomány () függvény
A range()
függvény segítségével előállíthatunk egy számsort . range(10)
0 és 9 közötti számokat generál (10 szám).
Megadhatjuk a kezdet, a leállítás és a lépés méretét is range(start, stop,step_size)
. alapértelmezés szerint a step_size értéke 1, ha nincs megadva.
Az range
objektum bizonyos értelemben "lusta", mert nem minden számot generál, amelyet "tartalmaz", amikor létrehozzuk. Azonban ez nem egy bejáró hiszen támogatja in
, len
és __getitem__
műveleteket.
Ez a funkció nem tárolja az összes értéket a memóriában; nem lenne hatékony. Tehát emlékszik a kezdetre, a leállításra, a lépés méretére és generálja a következő számot menet közben.
A függvény használatára kényszeríthetjük ezt a függvényt az összes elem kiadására list()
.
A következő példa ezt tisztázni fogja.
print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))
Kimenet
tartomány (0, 10) (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (2, 3, 4, 5, 6, 7) (2, 5, 8, 11, 14 , 17)
A range()
függvényt for
ciklusokban használhatjuk a számsorozat ismétléséhez. Kombinálható a len()
függvénnyel, hogy indexeléssel iteráljon egy szekvencián. Itt egy példa.
# 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))
Kimenet
Szeretem a popot, szeretem a rockot, szeretem a jazzt
mert hurok mással
Egy for
huroknak opcionális else
blokkja is lehet. Az else
alkatrész akkor kerül végrehajtásra, ha a sorrendben szereplő elemek a hurok kipufogására szolgálnak.
A break
kulcsszó használható a for ciklus leállítására. Ilyen esetekben a másik részt figyelmen kívül hagyják.
Ezért a for ciklus másik része fut, ha nem történik törés.
Íme egy példa ennek szemléltetésére.
digits = (0, 1, 5) for i in digits: print(i) else: print("No items left.")
A program futtatásakor a kimenet a következő lesz:
0 1 5 Nincsenek tételek.
Itt a for ciklus addig nyomtatja ki a lista elemeit, amíg a ciklus el nem fogy. Amikor a for ciklus kimerül, végrehajtja a kódblokkot a else
és -ben, és nem nyomtat elemeket.
Ez az for… else
utasítás a break
kulcsszóval else
csak akkor használható a blokk futtatására, ha a break
kulcsszó nem lett végrehajtva. Vegyünk egy példát:
# 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.')
Kimenet
Nem található ilyen nevű bejegyzés.