Python listák bejárása és kiíratása

Mi az a lista?

A lista egy rendezett gyűjtemény, amely több értéket tárol. A Python-ban szögletes zárójelekkel [] hozzuk létre, és a benne lévő elemeket vesszővel választjuk el egymástól.

gyumolcsok = ["alma", "banán", "narancs"] szamok = [1, 2, 3, 4, 5] vegyes = [10, "szöveg", 3.14, True]

Lista bejárása (iteráció)

For ciklus

A legegyszerűbb és legolvashatóbb módja a lista bejárásának a for ciklus használata. Az elemeken egyenként végigmegyük:

gyumolcsok = ["alma", "banán", "narancs"] for gyumolcs in gyumolcsok: print(gyumolcs)

Kimenet:

alma banán narancs

Range és len() használata

Ha szükségünk van az elem indexére (listán belüli helyzetére), használhatjuk a range() és len() kombinációját:

gyumolcsok = ["alma", "banán", "narancs"] for i in range(len(gyumolcsok)): # az i változó a (0,1,2) értékeket veszi fel print(f"{i} index: {gyumolcsok[i]}") print(f"A listában lévő elemek száma: {len(gyumolcsok)}")

Kimenet:

0 index: alma 1 index: banán 2 index: narancs A listában lévő elemek száma: 3

Enumerate() – index és érték együtt

Az enumerate() függvény egyszerre adja meg az indexet és az értéket:

gyumolcsok = ["alma", "banán", "narancs"] for index, gyumolcs in enumerate(gyumolcsok): print(f"{index} index: {gyumolcs}")

Kimenet:

0 index: alma 1 index: banán 2 index: narancs

Lista kiíratása

Egyszerű kiíratás – print()

A legegyszerűbb módszer az egész lista kiíratása:

szamok = [1, 2, 3, 4, 5] print(szamok)

Kimenet:

[1, 2, 3, 4, 5]

Elemek egyenként – for ciklus

szamok = [1, 2, 3, 4, 5] for szam in szamok: print(szam)

Kimenet:

1 2 3 4 5

Szép formázás – join() metódus

Ha a szövegeket szeretnénk szép formában kiírni:

gyumolcsok = ["alma", "banán", "narancs"] print(", ".join(gyumolcsok))

Kimenet:

alma, banán, narancs

Egyéni formázás

szamok = [10, 20, 30, 40] for szam in szamok: print(f"A szám: {szam}")

Kimenet:

A szám: 10 A szám: 20 A szám: 30 A szám: 40
Python karakterlánc metódusok

Pythonban számos hasznos karakterlánc metódus létezik. Íme a legfontosabbak csoportosítva:

Nagybetű/kisbetű konverziók

Metódus Leírás Példa
upper() Nagybetűsre konvertál "hello".upper() → "HELLO"
lower() Kisbetűsre konvertál "HELLO".lower() → "hello"
capitalize() Első betű nagybetű, a többi kisbetű "hello world".capitalize() → "Hello world"
title() Minden szó első betűje nagybetű "hello world".title() → "Hello World"
swapcase() Felcseréli a nagy- és kisbetűket "Hello".swapcase() → "hELLO"

Ellenőrzési metódusok (isupper-hez hasonlók)

Metódus Leírás Példa
isupper() Összes betű nagybetű? "HELLO".isupper() → True
islower() Összes betű kisbetű? "hello".islower() → True
isdigit() Csak számjegyek? "123".isdigit() → True
isalpha() Csak betűk? "hello".isalpha() → True
isalnum() Csak betűk és számok? "hello123".isalnum() → True
isspace() Csak szóközök? " ".isspace() → True
isempty() Üres? "".isempty() → True

Keresési és csere metódusok

Metódus Leírás Példa
find() Megkeresi az első előfordulást (index) "hello".find("l") → 2
rfind() Megkeresi az utolsó előfordulást "hello".rfind("l") → 3
index() Mint a find(), de hibát dob ha nem találja "hello".index("l") → 2
count() Számolja az előfordulásokat "hello".count("l") → 2
replace() Helyettesít "hello".replace("l", "x") → "hexxo"
startswith() Ezzel kezdődik? "hello".startswith("he") → True
endswith() Ezzel végződik? "hello".endswith("lo") → True

Szóköz és formázás metódusok

Metódus Leírás Példa
strip() Eltávolítja az elején/végén lévő szóközöket " hello ".strip() → "hello"
lstrip() Eltávolítja az elején lévő szóközöket " hello ".lstrip() → "hello "
rstrip() Eltávolítja a végén lévő szóközöket " hello ".rstrip() → " hello"
split() Felosztja szóközök alapján "hello world".split() → ["hello", "world"]
join() Összefűzi listát "-".join(["a", "b"]) → "a-b"
center() Középre igazít "hi".center(5) → " hi "
ljust() Balra igazít "hi".ljust(5) → "hi "
rjust() Jobbra igazít "hi".rjust(5) → " hi"

Egyéb hasznos metódusok

Metódus Leírás Példa
len() Hossz (nem metódus, hanem függvény) len("hello") → 5
format() Formázott karakterlánc "Hello {}".format("John") → "Hello John"
zfill() Nullákkal kitölt "42".zfill(5) → "00042"
removeprefix() Eltávolítja az előtagot (Python 3.9+) "hello".removeprefix("he") → "llo"
removesuffix() Eltávolítja az utótagot (Python 3.9+) "hello".removesuffix("lo") → "hel"

Gyakorlati példák

szöveg = " Python programozás " print(szöveg.strip()) # "Python programozás" print(szöveg.split()) # ["Python", "programozás"] print("hello".count("l")) # 2 print("hello123".isalnum()) # True print("hello".replace("l", "x")) # "hexxo" print("-".join(["a", "b", "c"])) # "a-b-c"

Ezek a metódusok fedik le a legtöbb gyakori karakterlánc-kezelési feladatot Pythonban!

Feladatok

  1. Számok kiíratása
    Hozz létre egy listát 5 tetszőleges számmal. Járd be a listát egy for ciklus segítségével, és írasd ki az összes számot.
  2. Nevek és indexek
    Hozz létre egy listát 4 barát nevével. Írasd ki az összes nevet az indexükkel együtt (0-tól kezdve).
    Példa kimenet: "Index 0: Aladár..."
  3. Sorszámozás
    Hozz létre egy listát 3 kedvenc ételed nevével. Írasd ki őket sorszámmal (1-től kezdve).
    Példa kimenetre: " 1. Pizza..."
  4. Szavak összefűzése
    Hozz létre egy listát 5 szóval (pl. állatok nevei). Írasd ki őket egy sorban, vesszővel elválasztva.
  5. Páros és páratlan számok
    Hozz létre egy listát 10 számmal (0-99 között). Járd be a listát, és írasd ki, hogy melyik szám páros és melyik páratlan.
    Példa kimenet:
    5 - páratlan 12 - páros 23 - páratlan ..
  1. Szavak hossza
    Hozz létre egy listát 5 szóval. Járd be a listát, és minden szó mellett írasd ki, hogy hány karakterből áll.
    (Segítség: A len() függvény egy szöveg hosszának lekérdezésére is használható.)
    Példa kimenet:
    Python - 6 karakter lista - 5 karakter ....
  1. Számok összege
    Hozz létre egy listát 6 számmal. Járd be a listát egy for ciklus segítségével, és számítsd ki az összes szám összegét. Írasd ki az eredményt a következő formában: "Az összes szám összege:..."
  1. Szűrés – csak nagy betűvel kezdődő nevek
    Hozz létre egy listát vegyes nevek listájával. Írasd ki csak azokat a neveket, amelyek nagy betűvel kezdődnek.
  1. Emoji pizza rendelés
    Hozz létre egy listát pizza feltétekkel. Járd be a listát, és minden feltét mellett írasd ki az "ízletes" emojit (🍕). Ha a feltét hosszabb, mint 5 karakter, írj egy "szuper" megjegyzést!
    Példa kimenet:
    sajt 🍕 szalami 🍕 - SZUPER! csirkehús 🍕 - SZUPER! gomba 🍕 paprika 🍕 - SZUPER!