User Tools

Site Tools


tanszek:oktatas:muszaki_informatika:adatszerkezetek_ii._dict_set_gyakorlo_feladatok

This is an old revision of the document!


Adatszerkezetek II. – dict, set

Dictionary: kulcs–érték párok gyűjteménye, mint egy valódi szótár. Hasonlít a C nyelv struktúrájára.

  • Kapcsos zárójel: {}
  • Kulcs és érték kettősponttal elválasztva
  • Kulcsok egyediek
  • print(szemely[“nev”])

szemely = {
    "nev": "Anna",
    "kor": 25,
    "varos": "Budapest"
}

Példa: Hozz létre egy dictionary-t saját adataiddal (név, kor, kedvenc szám). Írd ki külön a nevet. Írd ki az egész dictionary-t.

adat = {
    "nev": "Anna",
    "kor": 20,
    "kedvenc_szam": 7
}

print("Név:", adat["nev"])
print("Teljes adat:", adat)

Módosítás és bővítés

  • Új kulcs hozzáadása
  • Érték módosítása

szemely["kor"] = 26
szemely["foglalkozas"] = "mérnök"

Példa: Hozz létre egy üres dictionary-t. Kérd be a felhasználó nevét és életkorát. Tárold el dictionary-ben. Írd ki az eredményt.

adat = {}

nev = input("Név: ")
kor = int(input("Kor: "))

adat["nev"] = nev
adat["kor"] = kor

print(adat)

Dictionary bejárása

szemely = {"nev": "Anna", "kor": 25}

for kulcs in szemely:
    print(kulcs, szemely[kulcs])
    
#Kulcs–érték együtt:
for kulcs, ertek in szemely.items():
    print(kulcs, ertek)

Példa: Hozz létre egy dictionary-t 3 tantárggyal és jeggyel. Írd ki az átlagot.

jegyek = {
    "matek": 4,
    "fizika": 5,
    "angol": 3
}

osszeg = 0
for ertek in jegyek.values():
    osszeg += ertek

atlag = osszeg / len(jegyek)
print("Átlag:", atlag)

Dict fő metódusai

Metódus Funkció Példa
dict.keys() Visszaadja a kulcsok listáját (view object) d.keys()
dict.values() Visszaadja az értékek listáját d.values()
dict.items() Visszaadja a kulcs-érték párokat d.items()
dict.get(key[, default]) Visszaadja a kulcshoz tartozó értéket, ha nincs → default d.get(“x”, 0)
dict.pop(key[, default]) Törli a kulcsot és visszaadja az értékét d.pop(“x”)
dict.popitem() Törli és visszaad egy tetszőleges kulcs-érték párt d.popitem()
dict.update([other]) Másik szótár vagy iterable alapján frissít d.update({“y”:10})
dict.clear() Törli az összes elemet d.clear()
dict.setdefault(key[, default]) Ha nincs kulcs, létrehozza alapértelmezett értékkel d.setdefault(“x”,0)
dict.copy() Felületes másolat készít d2 = d.copy()

Set alapjai

Set: egyedi elemek gyűjteménye, halmaza.

  • Nincs indexelés
  • Nem tartalmaz duplikációt

szamok = {1, 2, 3, 3, 2}
print(szamok)

Példa: Kérj be 5 számot. Tárold el listában. Alakítsd át set-té. Írd ki az egyedi elemeket

szamok = []

for i in range(5):
    szam = int(input("Adj meg egy számot: "))
    szamok.append(szam)

egyedi = set(szamok)
print("Egyedi elemek:", egyedi)

Set fő metódusai

set.add(x) Hozzáad egy elemet s.add(5)
set.update(iterable) Több elemet ad hozzá s.update([1,2,3])
set.remove(x) Eltávolítja az elemet (ha nincs → KeyError) s.remove(2)
set.discard(x) Eltávolítja az elemet, ha van (hiba nélkül) s.discard(2)
set.pop() Eltávolít egy tetszőleges elemet s.pop()
set.clear() Összes elem törlése s.clear()
set.copy() Felületes másolat s2 = s.copy()
set.union(other) Egyesítés s.union({4,5})
set.intersection(other) Metszet s.intersection({2,3})
set.difference(other) Különbség s.difference({1,2})
set.symmetric_difference(other) Szimmetrikus különbség s.symmetric_difference({1,2})
set.issubset(other) Részhalmaz-e s.issubset({1,2,3})
set.issuperset(other) Felülhalmaz-e s.issuperset({1})

Összefoglaló feladatok

Írj programot, ami:

  • Bekér 5 nevet
  • Minden névhez bekér egy pontszámot
  • Dictionary-ben tárolja
  • Kiírja a legmagasabb pontszámot elért nevet

eredmenyek = {}

for i in range(5):
    nev = input("Név: ")
    pont = int(input("Pontszám: "))
    eredmenyek[nev] = pont

max_nev = None
max_pont = -1

for nev, pont in eredmenyek.items():
    if pont > max_pont:
        max_pont = pont
        max_nev = nev

print("Legjobb eredmény:", max_nev, max_pont)








tanszek/oktatas/muszaki_informatika/adatszerkezetek_ii._dict_set_gyakorlo_feladatok.1771530747.txt.gz · Last modified: 2026/02/19 19:52 by szabom