Summary of Függvények és listák Pythonban
Függvények és Listák Pythonban: Teljes Útmutató Hallgatóknak
Bevezetés
A Python listák (list) alapvető és rendkívül hasznos adatszerkezetek rendezett értékgyűjtemények tárolására. Ez az anyag bemutatja a listák létrehozását, az alapvető műveleteket, a gyakran használt metódusokat és gyakorlati példákat valós feladatokban való alkalmazásukra.
A lista (list) egy rendezett, indexelhető és módosítható gyűjtemény, amely különböző adattípusokat tartalmazhat, beleértve más listákat is.
Listák alapjai
Lista létrehozása
- Közvetlen értékadás:
numbers = [1, 2, 3, 4, 5] - Üres lista és fokozatos hozzáadás:
measurements = []measurements.append(36.5)
Indexelés és szeletelés
- Az indexelés 0-tól kezdődik. Elemek elérése:
patients[0],patients[-1](utolsó elem). - A szeletelés (slicing) alsorozatokat választ ki:
patients[1:4](1,2,3 indexű elemek),patients[:3],patients[2:]. - Lépésköz a szeletelésnél:
patients[::2](minden második),patients[::-1](fordított sorrendben).
Gyakorlati példa:
- patients = ["Jan", "Marie", "Petr", "Anna", "Tomáš"]
patients[0]→ "Jan"patients[-1]→ "Tomáš"patients[1:4]→ ["Marie", "Petr", "Anna"]
Ne feledd: listákban az elemeket index alapján módosíthatod; karakterláncokban (stringekben) ez nem lehetséges (a karakterláncok immutábilisek/változtathatatlanok).
Műveletek listákkal
Összefűzés és ismétlés
- Összefűzés:
all_patients = group_a + group_b - Ismétlés:
week_data = [0] * 7
Tartalom ellenőrzése
in,not inaz elemek jelenlétének ellenőrzésére:if "Jan Novák" in patients:
Listák összehasonlítása
- A sorrend és az értékek is összehasonlításra kerülnek:
[1,2,3] == [1,2,3]→ True,[1,2,3] == [3,2,1]→ False
Több lista egyidejű kezelése
enumerate()
- Elegáns módja az index és az érték együttes lekérésének:
for i, patient in enumerate(patients, start=1): print(f"{i}. {patient}")
zip()
- Két (vagy több) lista párhuzamos bejárására:
for name, temp in zip(names, temperatures): print(f"{name}: {temp}°C")
Módszerek elemek hozzáadására
append(x)– hozzáad egyetlen elemet a végére:patients.append("Petr").extend(iterable)– kibont egy iterálható objektumot és hozzáadja az elemeit:patients.extend(["Petr","Anna"]).insert(index, x)– beszúr egy elemet egy adott pozícióra:patients.insert(1, "Anna").
Figyelem: append(["Petr","Anna"]) hozzáadja a teljes listát egyetlen elemként (beágyazott lista).
Elemek eltávolítására szolgáló metódusok
remove(x)– eltávolítja azxérték első előfordulását. Ha nem létezik,ValueError-t dob.- Biztonságos minta:
if x in patients: patients.remove(x).
- Biztonságos minta:
pop([index])– eltávolítja és visszaadja az elemet az adott indexről; alapértelmezetten az utolsó elemet.last = patients.pop()first = patients.pop(0)
További hasznos metódusok
index(x)– visszaadja azxelső előfordulásának indexét.count(x)– megszámolja azxelőfordulásait.sort()– helyben rendezi a listát (módosítja az eredeti listát). Nincs visszatérési értéke (azazNone-t ad vissza).sorted(list)– új, rendezett listát ad vissza, az eredeti változatlan marad.
Táblázat: A sort() és a sorted() összehasonlítása
| Tulajdonság | list.sort() | sorted(list) |
|---|---|---|
| Módosítja az eredeti listát | Igen | Nem |
| Új listát ad vissza | Nem | Igen |
| Használat | Ha nincs szükséged az eredetire | Ha meg akarod őrizni az eredetit |
Lista másolása és referencia
- Az
b = ahozzárendelés létrehoz egy második nevet ugyanazon objektumhoz (megosztott referencia). - Valódi másolathoz használd az
a.copy()-t vagy aza[:]-t.
Példa:
- a = [1,2,3]
- b = a
- b.append(4) # az 'a' most [1,2,3,4]
- c = a.copy(); c.append(5) # az 'a' [1,2,3,4] marad, a 'c' pedig [1,2,3,4,5]
Átalakítás más adattípusokból
- Szövegből listává:
list("ACGTTAGC")→ karakterekre bontja. - String felosztása a
split()metódussal:data = "Jan,25,Praha"; parts = data.split(",")→ ["Jan","25","Praha"]
Already have an account? Sign in
Python Listák és Műveletek
Klíčové pojmy: A lista változtatható, indexelhető és rendezett., Létrehozás: [] vagy [a,b,c]; üresen és fokozatos append() hozzáadással., Az indexelés 0-tól kezdődik; szeletelés: start:stop:step., Az append() hozzáad egy elemet; az extend() kibont egy iterálható objektumot., Az insert(i,x) beszúr egy elemet az i indexre., A remove(x) eltávolítja az első előfordulást; a pop([i]) visszaadja és eltávolítja az elemet., A list.sort() helyben módosítja a listát; a sorted(list) új listát ad vissza., A b = a egy referencia; használj a.copy() vagy a[:] kifejezést a másoláshoz., Az enumerate() visszaadja az indexet és az értéket; a zip() párhuzamos bejáráshoz használható., A split() átalakít egy stringet listává egy elválasztó alapján., Tartalom ellenőrzése az in és not in operátorokkal., A sort() nem ad vissza értéket (None) — ne kombináld hozzárendeléssel.