
Slovníky v Pythonu
Předcházející: Datové typy a jejich využití
Předcházející: Řetězce v Pythonu, Seznamy v Pythonu
Navazující: Objekty v Pythonu
Slovník (dictionary, dict) udává mapování klíčů na hodnoty. Můžeme si třeba pamatovat počty kusů ovoce na skladě.
Vytvoření slovníku
Slovník vytváříme v Pythonu pomocí složených závorek.
fruits = {"apple": 5,
"banana": 10,
"orange": 2}
empty_dictionary = {} # prázdný slovník
Přístup k položkám
K položkám slovníku přistupujeme pomocí indexování hranatými závorkami. Podobně můžeme do slovníku položku přidat.
print(fruits["apple"])
fruits["pear"] = 3
Pokud se pokusíme přistoupit k položce, která ve slovníku není, dostaneme chybu. Bezpečný přístup provedeme pomocí get
:
print(fruits["plum"]) # => KeyError: 'plum'
print(fruits.get("plum", 0)) # pokud položka ve slovníku není,
# vrátí zadanou hodnotu (0)
Práce se slovníky
Další užitečné funkce pro práci se slovníky:
len(fruits) # počet klíčů ve slovníku
fruits.keys() # klíče ve slovníku, tj. 'pear', 'orange', 'banana', 'apple'
fruits.values() # hodnoty ve slovníku, tj. 10, 2, 3, 5
"apple" in fruits # test na přítomnost ve slovníku
Vysvětlení mi pomohlo Vysvětlení mi nepomohlo

Rozhodovačka
Rychlé procvičování výběrem ze dvou možností.

Slovníky v Pythonu (lehké)
21 Zadání
Typicky zabere: 8 min
Ukázka
Co vypíše program?colors = {"red": "#FF0000",
"yellow": "#FFFF00",
"navy": "#000080"}
print(list(colors.keys()))
Co vypíše program?pets = {"Alice": "dog",
"Bob": "cat",
"Cyril": "parrot"}
pets["Bob"] = "dog"
print(pets["Alice"], pets["Bob"])
Co vypíše program?fruits = {"apple": 5,
"banana": 10,
"orange": 2}
print(fruits.get("pear", 0))

Výstup programu
Cvičení, ve kterém dostanete krátký program a máte určit, co vypíše.

Slovníky v Pythonu (střední)
18 Zadání
Typicky zabere: 7 min
Ukázka
fruits = {"apple": 5, "banana": 10, "orange": 2}
print(sum(fruits.values()))
morse = {'A': '.-', 'B': '-...', 'C': '-.-.',
'D': '-..', 'E': '.', 'F': '..-.'}
print('...' in morse.values())
colors = {"red": "#FF0000", "yellow": "#FFFF00", "navy": "#000080"}
print(len(colors.values()))

Porozumění programům
Prohlédněte si vypracované řešení příkladů v Pythonu. Pro každý ukázkový program dostanete několik kontrolních otázek, které testují schopnost číst zdrojový kód a porozumět mu.