2024-07-17 10:44 Doba čtení: 10 min

Jak přidat do slovníku v Pythonu

Python, jakožto robustní programovací jazyk, nabízí efektivní nástroje pro zpracování dat. Jednou ze stěžejních datových struktur jsou slovníky (dictionaries), jež umožňují dynamické ukládání informací v podobě dvojic klíč-hodnota. Klíč zde slouží jako unikátní identifikátor, zatímco hodnota reprezentuje data, která jsou s tímto klíčem asociována.

V tomto pojednání se zaměříme na metody, jakými lze do slovníku v Pythonu vkládat nové klíče a jim odpovídající hodnoty. Prozkoumáme různé přístupy a uvedeme příklady, které usnadní pochopení tohoto důležitého aspektu práce se slovníky.

Základní operace přidávání do slovníku

Nejpřímější metodou, jak přidat do slovníku nový klíč-hodnotový pár, je použití operátoru přiřazení =.

python
muj_slovnik = {"jmeno": "Jan", "vek": 30}
print(muj_slovnik)

Výsledkem je: {"jmeno": "Jan", "vek": 30}

python muj_slovnik["mesto"] = "Praha"
print(muj_slovnik)

Výsledkem je: {"jmeno": "Jan", "vek": 30, "mesto": "Praha"}

V uvedeném příkladu jsme nejprve vytvořili slovník se dvěma klíči ("jmeno" a "vek") a jejich hodnotami ("Jan" a 30). Následně jsme přidali klíč "mesto" s hodnotou "Praha".

Využití metody update()

Pro přidání více klíč-hodnotových párů najednou slouží metoda update().

python
muj_slovnik = {"jmeno": "Jan", "vek": 30}
print(muj_slovnik)

Výsledkem je: {"jmeno": "Jan", "vek": 30}

python muj_slovnik.update({"mesto": "Praha", "profese": "programator"})
print(muj_slovnik)

Výsledkem je: {"jmeno": "Jan", "vek": 30, "mesto": "Praha", "profese": "programator"}

V tomto případě jsme k slovníku muj_slovnik přidali dvojici nových klíčů a hodnot ("mesto" – "Praha" a "profese" – "programator") pomocí metody update().

Manipulace s existujícími klíči

Při přidávání nového klíče, který se již ve slovníku nachází, dojde k přepsání původní hodnoty novou.

python
muj_slovnik = {"jmeno": "Jan", "vek": 30, "mesto": "Praha"}
print(muj_slovnik)

Výsledkem je: {"jmeno": "Jan", "vek": 30, "mesto": "Praha"}

python muj_slovnik["mesto"] = "Brno"
print(muj_slovnik)

Výsledkem je: {"jmeno": "Jan", "vek": 30, "mesto": "Brno"}

V tomto příkladu jsme změnili hodnotu u klíče "mesto" z "Praha" na "Brno". Původní hodnota byla nahrazena.

Podmíněné přidávání

V některých situacích je žádoucí přidat klíč-hodnotový pár pouze tehdy, pokud daný klíč ve slovníku ještě nefiguruje. K tomu slouží metoda setdefault().

python
muj_slovnik = {"jmeno": "Jan", "vek": 30}
print(muj_slovnik)

Výsledkem je: {"jmeno": "Jan", "vek": 30}

python muj_slovnik.setdefault("mesto")
print(muj_slovnik)

Výsledkem je: {"jmeno": "Jan", "vek": 30, "mesto": None}

python muj_slovnik.setdefault("profese", "programator")
print(muj_slovnik)

Výsledkem je: {"jmeno": "Jan", "vek": 30, "mesto": None, "profese": "programator"}

Metoda setdefault() nejprve ověří, zda klíč existuje. Pokud ano, vrátí jeho hodnotu. Jestliže klíč ve slovníku není, přidá ho s určenou hodnotou (nebo s hodnotou None, pokud hodnota není uvedena) a tuto hodnotu vrátí.

Vkládání prvků pomocí cyklu for

Více klíč-hodnotových párů je možné přidávat do slovníku i za použití cyklu for.

python
muj_slovnik = {}

for i in range(1, 6):
muj_slovnik["klic_" + str(i)] = i * 10

print(muj_slovnik)

Výsledkem je: {"klic_1": 10, "klic_2": 20, "klic_3": 30, "klic_4": 40, "klic_5": 50}

V tomto případě jsme pomocí cyklu for iterovali přes čísla 1 až 5. V každé iteraci jsme přidali nový klíč (ve formátu "klic_" + číslo) a hodnotu (číslo * 10).

Slovníky a další kolekce

Slovníky v Pythonu mohou obsahovat i další datové struktury, jako jsou seznamy, množiny, nebo dokonce jiné slovníky.

python
muj_slovnik = {"jmeno": "Jan", "vek": 30, "oblibena_jidla": ["pizza", "pasta", "sushi"]}
print(muj_slovnik)

Výsledkem je: {"jmeno": "Jan", "vek": 30, "oblibena_jidla": ["pizza", "pasta", "sushi"]}

python muj_slovnik["oblibena_jidla"].append("hamburger")
print(muj_slovnik)

Výsledkem je: {"jmeno": "Jan", "vek": 30, "oblibena_jidla": ["pizza", "pasta", "sushi", "hamburger"]}

Zde jsme do slovníku muj_slovnik přidali klíč "oblibena_jidla" s hodnotou ve formě seznamu obsahujícího tři jídla. Následně jsme do tohoto seznamu přidali další jídlo pomocí metody append().

Závěrem

Rozšiřování slovníků v Pythonu je zásadní operací při práci s dynamickými datovými strukturami. Existuje několik technik pro vkládání nových klíč-hodnotových párů do slovníků, včetně jednoduchého přiřazení, metod update() a setdefault(), a iterací pomocí cyklu for.

Znalost těchto metod vám zajistí flexibilitu a kontrolu při práci se slovníky. Vybírejte si vždy tu nejvhodnější metodu pro daný úkol.

Často kladené otázky

1. Co se stane, pokusím-li se do slovníku přidat klíč, který již existuje?

V takovém případě dojde k přepsání stávající hodnoty novou.

2. Jak zjistím, zda klíč ve slovníku již existuje?

K ověření existence klíče se používá operátor in. Například, if "jmeno" in muj_slovnik: zkontroluje, zda klíč "jmeno" je ve slovníku muj_slovnik přítomen.

3. Jak provedu kopii slovníku?

Pro vytvoření kopie slovníku použijte metodu dict.copy().

4. Jak odstraním klíč ze slovníku?

Pro odstranění klíče použijte operátor del, například del muj_slovnik["vek"] vymaže klíč "vek".

5. Jak získám všechny klíče ze slovníku?

Klíče získáte pomocí metody dict.keys(). Například muj_slovnik.keys() vrátí seznam všech klíčů.

6. Jak získám všechny hodnoty ze slovníku?

Pro získání všech hodnot použijte metodu dict.values(). Například muj_slovnik.values() vrátí seznam všech hodnot.

7. Jak získám všechny klíče a hodnoty ze slovníku?

Pro získání všech klíčů a hodnot jako dvojic použijte metodu dict.items(). Například muj_slovnik.items() vrátí seznam dvojic (klíč, hodnota).

8. Jak otestuji, zda je slovník prázdný?

Pro ověření, zda je slovník prázdný, použijte funkci len(). Například, if len(muj_slovnik) == 0: ověří, zda je slovník muj_slovnik prázdný.

9. Jak odstraním všechny klíče a hodnoty ze slovníku?

Pro vymazání celého obsahu slovníku použijte metodu dict.clear(). Například muj_slovnik.clear() vyprázdní slovník muj_slovnik.

10. Jak do slovníku načíst data z textového souboru?

Otevřete textový soubor, načtěte jeho obsah, rozdělte jej na klíč-hodnotové páry a ty následně přidejte do slovníku za použití metody update().

Štítky

Python, slovníky, dictionaries, přidávání, data, klíče, hodnoty, programování, update(), setdefault(), cyklus for, kolekce, seznamy, množiny, soubory

Užitečné odkazy

Petra Kovářová
Autor
Czechia

Sleduje mobilní technologie, Android/iOS a praktické návody pro uživatele.

Předchozí článek
GeForce Experience se neotevře, chyba 0x0003 [Oprava]
Další článek
Jak nainstalovat a nakonfigurovat Ansible na Debianu 11