Dict

5th Aug 2026

Slovníky – kúzelná kniha Janka a Marienky

Janko a Marienka si najprv zapisovali poklady do zoznamu:

predmety = ["Meč", "Štít", "Luk"]

Samotné názvy im však nestačili. Chceli si ku každému predmetu uložiť aj jeho silu. Vo vnorenom zozname by museli pamätať na význam jednotlivých pozícií:

predmety = [["Meč", 15], ["Štít", 8], ["Luk", 10]]
print(predmety[0][1])  # sila meča

Prehľadnejšie by bolo vyhľadať silu priamo podľa názvu predmetu. Presne na to slúži v Pythone slovník (dictionary).


Čo je slovník?

Slovník ukladá údaje ako dvojice kľúč → hodnota:

Meč  → 15
Štít → 8
Luk  → 10

Kľúč označuje položku a hodnota obsahuje údaj, ktorý k nej patrí. Namiesto číselného indexu preto používame zmysluplný názov.


Vytvorenie slovníka

Slovník zapisujeme do zložených zátvoriek {}. Kľúč od hodnoty oddeľujeme dvojbodkou a položky čiarkou.

poklady = {
    "Meč": 15,
    "Štít": 8,
    "Luk": 10
}

V položke "Meč": 15 je "Meč" kľúč a 15 hodnota. Každý kľúč musí byť v slovníku jedinečný.


Prístup k hodnote

Hodnotu získame pomocou kľúča v hranatých zátvorkách:

print(poklady["Meč"])

Výstup:

15

Kým v zozname by sme použili napríklad index 0, v slovníku použijeme kľúč "Meč".


Rôzne typy hodnôt

Hodnoty v jednom slovníku môžu mať rôzne dátové typy:

marienka = {
    "meno": "Marienka",
    "vek": 15,
    "mesto": "Košice",
    "čarodejník": False
}

print(marienka["mesto"])

Takýto zápis je zrozumiteľnejší než zoznam, pri ktorom by sme si museli pamätať, na ktorom indexe je meno, vek alebo mesto.


Zmena a pridanie položky

Priradením hodnoty k existujúcemu kľúču pôvodnú hodnotu prepíšeme:

poklady["Meč"] = 25

Ak kľúč ešte neexistuje, rovnakým zápisom vytvoríme novú položku:

poklady["Elixír"] = 5

Slovník teraz obsahuje štyri položky:

print(poklady)
{'Meč': 25, 'Štít': 8, 'Luk': 10, 'Elixír': 5}

Pridanie viacerých položiek

Metóda update() pridá do slovníka viac položiek naraz:

poklady.update({
    "Prsteň": 50,
    "Prilba": 12
})

Ak niektorý kľúč už existuje, update() prepíše jeho hodnotu.


Počet položiek

Funkcia len() vráti počet dvojíc kľúč – hodnota:

print(len(poklady))

Výstup:

6

Prechádzanie slovníkom

Obyčajný cyklus for prechádza kľúče slovníka:

for predmet in poklady:
    print(predmet)

Rovnaký výsledok dostaneme s metódou keys():

for predmet in poklady.keys():
    print(predmet)

Ak potrebujeme iba hodnoty, použijeme values():

for hodnota in poklady.values():
    print(hodnota)

Najčastejšie potrebujeme kľúč aj hodnotu. Metóda items() ich poskytne naraz:

for predmet, hodnota in poklady.items():
    print(predmet, hodnota)

Názvy premenných predmet a hodnota si volíme sami.


Kontrola kľúča pomocou in

Operátor in zisťuje, či sa medzi kľúčmi nachádza zadaný kľúč:

print("Prsteň" in poklady)  # True
print("Sekera" in poklady)  # False

Ak chceme hľadať medzi hodnotami, musíme použiť poklady.values().


Čítanie pomocou get()

Prístup cez hranaté zátvorky vyvolá pri neexistujúcom kľúči chybu KeyError:

print(poklady["Sekera"])

Ak chýbajúci kľúč nie je chybou programu, môžeme použiť metódu get():

print(poklady.get("Sekera"))       # None
print(poklady.get("Sekera", 0))    # 0

Druhý argument určuje hodnotu, ktorá sa vráti, ak kľúč neexistuje.


Odstraňovanie položiek

Príkaz del

Ak poznáme existujúci kľúč, položku odstránime príkazom del:

del poklady["Luk"]

Pri neexistujúcom kľúči del vyvolá chybu KeyError.

Metóda pop()

Metóda pop() položku odstráni a zároveň vráti jej hodnotu:

hodnota = poklady.pop("Elixír")
print(hodnota)  # 5

Predvolená hodnota zabráni chybe, ak kľúč neexistuje:

hodnota = poklady.pop("Sekera", None)

Metóda popitem()

Metóda popitem() odstráni poslednú pridanú položku a vráti ju ako dvojicu (kľúč, hodnota):

posledna_polozka = poklady.popitem()
print(posledna_polozka)

Ak je slovník prázdny, popitem() vyvolá chybu KeyError.

Metóda clear()

Metóda clear() odstráni všetky položky, ale samotný slovník zostane existovať:

poklady.clear()
print(poklady)  # {}

Previous Post Next Post

Dict