Python for Loop

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 vallá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

A hurok folyamatábra a Pythonban

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 rangeobjektum 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 forciklusokban 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 forhuroknak opcionális elseblokkja is lehet. Az elsealkatrész akkor kerül végrehajtásra, ha a sorrendben szereplő elemek a hurok kipufogására szolgálnak.

A breakkulcsszó 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… elseutasítás a breakkulcsszóval elsecsak akkor használható a blokk futtatására, ha a breakkulcsszó 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.

érdekes cikkek...