Indexelés
Az indexelés a Pythonban lehetővé teszi, hogy hozzáférjünk egy adatsorozat egyes elemeihez. Például egy lista vagy egy karakterlánc esetében az indexelés segítségével kiválaszthatjuk az egyes elemeket. Az indexelés fontos alapvető koncepció a Pythonban, és számos feladat megoldásához használható.
Az első lépésben inicializálunk egy „van” nevű változót, amely egy logikai értéket tárol. A kezdetben False értékkel inicializált „van” változó azt fogja jelenteni, hogy nincs 29-cel osztható szám a listában.
van = True
A „for” ciklus végigmegy a lista elemein a „range(len(l))” segítségével. A „len(l)” függvény meghatározza a lista hosszát, amelyet a „range” függvénnyel együtt használunk a „for” ciklusban, hogy végigmenjünk a lista elemein. Az „i” változó minden iterációban megkapja a ciklus aktuális indexét.
for i in range(len(l)):
A „if” utasítás a lista jelenlegi elemének vizsgálatára szolgál. Ha a jelenlegi elem osztható 29-cel (azaz a maradék nélkül osztható), akkor a „van” változó értékét True-ra állítjuk, majd a ciklusból kilépünk a „break” utasítással. Ez azért fontos, hogy csak az első ilyen szám indexét kaphassuk meg.
if l[i] % 29 == 0:
van = True
break
Az „if van” utasítás a ciklus után fut le, és megvizsgálja, hogy van-e 29-cel osztható szám a listában. Ha van, akkor kiírja az első ilyen szám indexét a listában a „print(f’Az első 29-cel osztható szám indexe: {i}’)” utasítással, amely az „i” változó aktuális értékét fogja kiírni. Különben pedig kiírja a „Nincs 29-cel osztható szám a sorozatban.” szöveget a „print(‘Nincs 29-cel osztható szám a sorozatban.’)” utasítással.
És a teljes kód egyben így néz ki:
van = False
for i in range(len(l)):
if l[i] % 29 == 0:
van = True
break
if van:
print(f'Az első 29-cel osztható szám indexe: {i}')
else:
print('Nincs 29-cel osztható szám a sorozatban.')
Ezen kívül a Pythonban lehetőség van negatív indexelésre is, amely az adatsorozat végéről indul és a negatív számokat használja az elemek eléréséhez.
Például:
for i in range (len(lista)-1,-1,-1):
if int(lista[i]) % 8 == 0:
break
print(i)
Ez a Python kód egy for ciklust használ egy adott listán végigmenni a hátrafelé irányba. A ciklus az adott listának a hosszából indul, az utolsó indexről kezdve visszafelé halad, egészen az 0 indexig. Minden iterációban a listának az aktuális indexű eleme ellenőriztetik, hogy osztható-e 8-cal. Ha igen, akkor a ciklusból kilép a „break” kulcsszó használatával, és a ciklusváltozó (i) értékét az aktuális indexre állítja. Ha a ciklus véget ér anélkül, hogy találnánk 8-cal osztható elemet a listán, akkor az utolsó index (len(lista)-1) lesz az i értéke. A kód végén a „print(i)” parancs kiírja az i értékét, ami az utoljára talált 8-cal osztható elem indexe a listában.
A visszafelé indexelés használata általában olyan esetekben fordul elő, amikor egy adatsorozat vagy szöveg utolsó elemeire szeretnénk hivatkozni, vagy fordított sorrendben szeretnénk végigmenni az elemein. Például ha egy lista utolsó elemére szeretnénk hivatkozni, akkor a „-1” indexet használjuk, vagy ha végigmegyünk egy szövegen visszafelé, akkor a „range(len(szoveg)-1, -1, -1)” kifejezést használjuk a for ciklusban. A visszafelé indexelés használata tehát a programozás során gyakran hasznos lehet, különösen, ha az adatsorozatunk végétől szeretnénk kezdeni a feldolgozást.