For
For
A for
ciklus Pythonban arra használható, hogy végigiteráljunk egy adott iterálható (iterable) objektumon, például egy listán vagy szövegen. A ciklus elején megadhatjuk az iterálás kezdőértékét, majd az objektum elemein végiglépve az iterálás végéig dolgozzuk fel az adatokat.
Példa
A következő példában egy for
ciklust használunk, hogy végigiteráljunk egy lista elemein, és kiírjuk azokat:
numbers = [1, 2, 3, 4, 5]
for num in numbers:
print(num)
1
2
3
4
5
Ebben az esetben a numbers
lista elemein megyünk végig a for
ciklussal, és minden egyes elemet kiírunk a képernyőre. Az in
kulcsszó azt jelzi, hogy az iterálást a numbers
listán kell elvégezni, a num
változó pedig a jelenlegi elemet jelöli a ciklusmagban.
2. Példa
A for
ciklus segítségével könnyen tudunk dolgozni más adattípusokkal is, például szöveggel:
text = "Hello, world!"
for char in text:
print(char)
H
e
l
l
o
,
w
o
r
l
d
!
Ebben az esetben a for
ciklus végigiterál a text
változóban található karaktereken, és kiírja azokat a képernyőre.
3. Példa
A for
ciklust használhatjuk az iterálható objektum elemeinek manipulálására is, például egy lista elemeinek összegzésére:
numbers = [1, 2, 3, 4, 5]
sum = 0
for num in numbers:
sum += num
print(sum)
15
Ebben az esetben a numbers
lista elemein megyünk végig a for
ciklussal, és minden egyes elemet hozzáadunk a sum
változóhoz. A ciklus után a sum
változó értékét kiírjuk a képernyőre, ami az összes elem összege lesz.
4. Példa
Ez a program egy „for” ciklust tartalmaz, amely végigiterál egy lista elemein, és minden egyes elemhez hozzárendel egy új változót. A lista itt „l”-nek van nevezve, és számokat tartalmaz. A cikluson belül minden egyes elemet kiírunk a képernyőre, miután megkettőztük a „print” függvény segítségével. Az „end=’ ‘” paraméter megakadályozza, hogy minden egyes szám új sorba kerüljön, és helyette egy szóközzel elválasztva jelenik meg.
l = [2, 5, 12, 23, 25, 20, 74, 56, 89]
for e in l:
print(e * 2, end = ' ')
4 10 24 46 50 40 148 112 178
Ez a program kiváló példa arra, hogyan lehet a for ciklust felhasználni a lista elemeinek feldolgozására. A „for” ciklus használata nagyon hatékony és könnyen érthető módszer arra, hogy minden egyes elemmel dolgozzunk a listán belül.
5. Példa
for idx, val in enumerate(l):
print(f'{idx} --> {val} ')
0 --> 2
1 --> 5
2 --> 12
3 --> 23
4 --> 25
5 --> 20
6 --> 74
7 --> 56
8 --> 89
A fenti programban a „for” kulcsszó segítségével végrehajtunk egy iterációt a lista elemein. Az „enumerate” függvény használatával lehetőség van a lista elemein való végighaladás mellett a lista indexeinek is a kiíratására. A „for” ciklus során minden egyes iterációban a „val” változó értéke az aktuális elemre állítódik be, a „idx” változó pedig az aktuális elem indexére.
A fenti példában a program egy listát tartalmaz, amelyben szerepelnek egész számok. A „for” ciklus segítségével a lista elemein végighaladunk, majd minden elemet kétzeresével kiírunk a képernyőre, az „end” paraméter segítségével az elemeket egy szóközzel elválasztva. A „enumerate” függvény használatával a lista elemeinek indexét is kiíratjuk, majd egy „->” jelet teszünk közéjük, végül a tényleges lista elemeket is kiíratjuk.
6. Példa
d = {'k':1, 'a':2, 'b':3, 'c':12}
for key in d:
print(f'{key} --> {d[key]}')
k --> 1
a --> 2
b --> 3
c --> 12
A fenti kódrészlet egy dictionary elemeit írja ki a kulcs-érték párok segítségével a for ciklus segítségével. A for key in d
sorral bejárjuk a dictionary kulcsait, majd a print(f'{key} --> {d[key]}')
sorban pedig kiírjuk a kulcs-érték párokat a megfelelő formátumban. A d[key]
kifejezés segítségével kérjük le a kulcshoz tartozó értéket a dictionary-ból.
7. Példa
for i in range(10, 101, 10): # adott értéktől megy | Meddig megy | hányassával
print(i, end = ' ')
10 20 30 40 50 60 70 80 90 100
A kód egy for ciklust használ, amely 10-től 100-ig haladva 10-esével kiírja az értékeket a képernyőre.
8. Példa
for i in range(1, 101): # adott értéktől megy | Meddig megy | hányassával
if i % 7 == 0 and not i % 3 == 0:
print(i, end = ' ')
7 14 28 35 49 56 70 77 91 98
A for ciklus 1-től 100-ig iterál, és azokat az értékeket írja ki, amelyek oszthatóak 7-tel, de nem oszthatóak 3-mal.