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!