🐍 Python tananyag · Gimis szint

Python Lista struktúra

Tanuld meg, hogyan tárolj, kezels és módosíts adatokat Python listákkal – lépésről lépésre, rengeteg példával!

1 Mi az a lista?

A lista (angolul: list) egy olyan adatszerkezet, amelybe több értéket tárolhatsz egymás után, egyetlen változóban. Gondolj rá úgy, mint egy bevásárlólistára – minden tételnek van sorszáma, és bármikor módosíthatod.

lista_alapok.py
# Létrehozás szögletes zárójelekkel
bevásárlólista = ["alma", "tej", "kenyér", "tojás"]

# Vegyes típusok is mehetnek bele!
vegyes = [42, "hello", 3.14, True]

# Üres lista
üres_lista = []

print(bevásárlólista)   # ['alma', 'tej', 'kenyér', 'tojás']
💡

Fontos: A lista módosítható (mutable) – utólag bármikor hozzáadhatsz, elvehetsz, vagy megváltozathatsz elemeket. Ez különbözteti meg a tuple-től.

2 Indexelés – elemek elérése

Minden elemnek van egy indexe (sorszáma), ami 0-tól kezdődik! Negatív indexszel a lista végéről számolhatsz.

"alma"
0 / -4
"tej"
1 / -3
"kenyér"
2 / -2
"tojás"
3 / -1
indexeles.py
lista = ["alma", "tej", "kenyér", "tojás"]

print(lista[0])    # "alma"   – az első elem
print(lista[2])    # "kenyér" – a harmadik elem
print(lista[-1])   # "tojás"  – az utolsó elem
print(lista[-2])   # "kenyér" – az utolsó előtti

# Módosítás indexxel
lista[1] = "joghurt"
print(lista)       # ['alma', 'joghurt', 'kenyér', 'tojás']
3 Szeletelés (slicing)

A szeletelés (slicing) segítségével egyszerre több elemet is kinyerhetsz a listából. A szintaxis: lista[start:stop:lépés]

szeleteles.py
számok = [10, 20, 30, 40, 50, 60]

print(számok[1:4])    # [20, 30, 40]  – 1-től 4 előttig
print(számok[:3])     # [10, 20, 30]  – az első 3 elem
print(számok[3:])     # [40, 50, 60]  – 3. indextől végig
print(számok[::2])    # [10, 30, 50]  – minden 2. elem
print(számok[::-1])   # [60, 50, 40, 30, 20, 10] – fordított sorrend
4 Fontos lista-metódusok
.append(x)
A lista végéhez hozzáad egy elemet.
.insert(i, x)
Az i. pozícióba szúr be egy elemet.
.remove(x)
Törli az első x értékű elemet.
.pop(i)
Kiveszi és visszaadja az i. elemet (alap: utolsó).
.sort()
Rendezi a listát (alapból növekvő sorrendbe).
.reverse()
Megfordítja a lista sorrendjét.
.index(x)
Visszaadja x első előfordulásának indexét.
.count(x)
Megszámolja, hányszor szerepel x a listában.
.extend(lista2)
Hozzáfűz egy másik listát a végéhez.
.clear()
Törli az összes elemet a listából.
.copy()
Visszaad egy másolatot a listáról.
len(lista)
A lista elemeinek száma (beépített függvény).
metodusok.py
osztaly = ["Anna", "Béla", "Csaba"]

osztaly.append("Dóra")       # ['Anna', 'Béla', 'Csaba', 'Dóra']
osztaly.insert(1, "Eszter")   # ['Anna', 'Eszter', 'Béla', 'Csaba', 'Dóra']
osztaly.remove("Béla")       # ['Anna', 'Eszter', 'Csaba', 'Dóra']
kilépett = osztaly.pop()      # kilépett = "Dóra"

osztaly.sort()                # ['Anna', 'Csaba', 'Eszter']
print(len(osztaly))           # 3
5 Lista bejárása ciklussal
bejaras.py
jegyek = [5, 4, 3, 5, 4]

# Egyszerű bejárás
for jegy in jegyek:
    print(f"Kaptál egy " + str(jegy) + "-est!")

# Indexxel együtt – enumerate()
for i, jegy in enumerate(jegyek):
    print(f"{i+1}. dolgozat: {jegy}")

# Átlag számítása
átlag = sum(jegyek) / len(jegyek)
print(f"Átlag: {átlag}")        # Átlag: 4.2
6 Lista-értelmező (list comprehension)

A lista-értelmező egy tömör, egysoris módszer arra, hogy egy listából egy másikat hozzál létre. Python egyik leglátványosabb eszköze!

list_comprehension.py
# Hagyományos módszer – négyzetszámok listája
négyzetek = []
for x in range(1, 6):
    négyzetek.append(x ** 2)

# Ugyanez lista-értelmezővel (SOKKAL rövidebb!)
négyzetek = [x ** 2 for x in range(1, 6)]
print(négyzetek)   # [1, 4, 9, 16, 25]

# Feltétellel – csak a páros számok
páros = [x for x in range(1, 11) if x % 2 == 0]
print(páros)       # [2, 4, 6, 8, 10]

# Szavak nagybetűsítése
városok = ["budapest", "pécs", "győr"]
nagy = [v.upper() for v in városok]
print(nagy)        # ['BUDAPEST', 'PÉCS', 'GYŐR']
7 Összefoglaló
MűveletSzintaxisMit csinál?
Létrehozáslista = [1, 2, 3]Új lista létrehozása
Elem eléréselista[0]Az első elem kiolvasása
Utolsó elemlista[-1]Utolsó elem negatív indexxel
Szeleteléslista[1:4]2–4. elemek részlistája
Hozzáadáslista.append(x)Véghez fűz egy elemet
Törléslista.remove(x)Töröl egy adott értéket
Rendezéslista.sort()Növekvő sorrendbe rendez
Hosszlen(lista)Elemek száma
Bejárásfor x in lista:Minden elemen végigmegy
Comprehension[x*2 for x in lista]Új lista transzformálással
🎯 Mini kvíz – Tudod-e?
Mi az eredménye? lista = [10, 20, 30, 40]; print(lista[-2])
Melyik metódus veszi ki és adja vissza az utolsó elemet?
Mi lesz az eredménye? [x**2 for x in range(1,4)]