Infotanar.eu - Szótár műveletek

Kód

# Szótár műveletek
# YT: https://www.youtube.com/watch?v=_kuolVSI2bw
# Kategória: szótárak

# Szótár létrehozása
szotar = {} # üres szótár
print(szotar)

print("\n----------------------\n") # elválasztó sor

# Szótár feltöltése
szotar["kutya"] = "dog"
szotar["macska"] = "cat"
szotar["egér"] = "mouse"
szotar["ló"] = "horse"
szotar["tehén"] = "cow"
print(szotar)

print("\n----------------------\n") # elválasztó sor

# Szótár elemeinek kiíratása
for key in szotar: # végig megy a szótár kulcsain
    print(key, ":", szotar[key]) # kulcs : érték formában írja ki az elemeket

print("\n----------------------\n") # elválasztó sor

# Szótár kulcsainak kiíratása
for key in szotar: # végig megy a szótár kulcsain
    print(key) # kiírja a kulcsokat

print("\n----------------------\n") # elválasztó sor

# Szótár értékeinek kiíratása
for key in szotar: # végig megy a szótár kulcsain
    print(szotar[key]) # kiírja az értékeket

print("\n----------------------\n") # elválasztó sor

# .get() metódus
print(szotar.get("kutya")) # dog
print(szotar.get("kacsa")) # None -> ha nincs ilyen kulcs, None-t ad vissza

print("\n----------------------\n") # elválasztó sor

# .items() metódus
print(szotar.items()) # A .items() metódus egy listát ad vissza, amelyben a szótár kulcs-érték párok listája található tuple formájában

print("\n----------------------\n") # elválasztó sor

# .keys() metódus
print(szotar.keys()) # A .keys() metódus egy listát ad vissza, amelyben a szótár kulcsai találhatók

print("\n----------------------\n") # elválasztó sor

# .values() metódus
print(szotar.values()) # A .values() metódus egy listát ad vissza, amelyben a szótár értékei találhatók

print("\n----------------------\n") # elválasztó sor

# Adat hozzáadása a szótárhoz
szotar.update({"kacsa": "duck"}) # A .update() metódus egy új kulcs-érték párt ad hozzá a szótárhoz
szotar["madár"] = "bird" # Egy új kulcs-érték párt ad hozzá a szótárhoz
# A két módszer közötti különbség, hogy az .update() metódus több kulcs-érték párt is hozzá tud adni egyszerre,
# míg a második módszer csak egy kulcs-érték párt tud hozzáadni egyszerre
print(szotar)

print("\n----------------------\n") # elválasztó sor

# Adatok módosítása
szotar["kutya"] = "canine" # A kutya értékét módosítjuk
szotar.update({"tehén": "cattle"}) # A madár értékét módosítjuk
print(szotar)

print("\n----------------------\n") # elválasztó sor

# Adatok törlése
del szotar["macska"] # A macska kulcs-érték párt töröli a szótárból
print(szotar)

# .pop() metódus
print(szotar.pop("kutya")) # dog -> visszaadja az értéket és eltávolítja az értéket a szótárból

print("\n----------------------\n") # elválasztó sor

# Szótár hossza
print(len(szotar)) # A szótár elemeinek számát adja vissza

print("\n----------------------\n") # elválasztó sor

# .copy() metódus
uj_szotar = szotar.copy() # A .copy() metódus egy másolatot készít a szótárról
print(uj_szotar)

print("\n----------------------\n") # elválasztó sor

# .clear() metódus
uj_szotar.clear() # A .clear() metódus törli a szótár összes elemét
print(uj_szotar) # {}

print("\n----------------------\n") # elválasztó sor

# Kulcs létének ellenőrzése
if "kutya" in szotar: # ha a kutya kulcs benne van a szótárban
    print("Van kutya a szótárban") # kiírja, hogy van kutya a szótárban
else: # opcionális
    print("Nincs kutya a szótárban") # kiírja, hogy nincs kutya a szótárban

print("\n----------------------\n") # elválasztó sor

# Érték létének ellenőrzése
if "canine" in szotar.values(): # ha a canine érték benne van a szótárban
    print("Van canine a szótárban") # kiírja, hogy van canine a szótárban
else: # opcionális
    print("Nincs canine a szótárban") # kiírja, hogy nincs canine a szótárban

print("\n----------------------\n") # elválasztó sor

# Beágyazott szótár (szótár a szótárban)
szotar = {
    "tanulo1": {"nev": "Anna", "kor": 25},
    "tanulo2": {"nev": "Bence", "kor": 22}
}
print(szotar["tanulo1"]["nev"])  # Kiírja: Anna

# Háromszintű beágyazott szótár

allatok = {
    "emlős": {"ló": {"tulajdonság": "négylábú","élőhely": "legelő",},"kutya": {"tulajdonság": "négylábú","élőhely": "ház körül",},},
           "madár": {"veréb": {"tulajdonság": "kétlábú","élőhely": "erdő",},"sas": {"tulajdonság": "kétlábú", "élőhely": "hegyvidék",},},
}

print(allatok["emlős"]["ló"]["tulajdonság"])  # Kiírja: négylábú
print(allatok["madár"]["sas"]["élőhely"])  # Kiírja: hegyvidék

# Bejárás a szótárban
for kategoria, fajok in allatok.items():
    print(f"Kategória: {kategoria}")
    for faj, adatok in fajok.items():
        print(f"  Faj: {faj}")
        for kulcs, ertek in adatok.items():
            print(f"    {kulcs}: {ertek}")