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 in az 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 az x érték első előfordulását. Ha nem létezik, ValueError-t dob.
    • Biztonságos minta: if x in patients: patients.remove(x).
  • 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 az x első előfordulásának indexét.
  • count(x) – megszámolja az x előfordulásait.
  • sort() – helyben rendezi a listát (módosítja az eredeti listát). Nincs visszatérési értéke (azaz None-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áglist.sort()sorted(list)
Módosítja az eredeti listátIgenNem
Új listát ad visszaNemIgen
HasználatHa nincs szükséged az eredetireHa meg akarod őrizni az eredetit

Lista másolása és referencia

  • Az b = a hozzárendelés létrehoz egy második nevet ugyanazon objektumhoz (megosztott referencia).
  • Valódi másolathoz használd az a.copy()-t vagy az a[:]-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"]
Sign up for the full summary
FlashcardsKnowledge testSummaryPodcastMindmap
Start for free

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.

## 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 in` az 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 az `x` érték első előfordulását. Ha nem létezik, `ValueError`-t dob. - Biztonságos minta: `if x in patients: patients.remove(x)`. - `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 az `x` első előfordulásának indexét. - `count(x)` – megszámolja az `x` előfordulásait. - `sort()` – helyben rendezi a listát (módosítja az eredeti listát). Nincs visszatérési értéke (azaz `None`-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 = a` hozzárendelés létrehoz egy második nevet ugyanazon objektumhoz (megosztott referencia). - Valódi másolathoz használd az `a.copy()`-t vagy az `a[:]`-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"]