Slovník v Python se syntaxí a příkladem
V čem je slovník Python?
A Slovník v Python je neuspořádaný a proměnlivý soubor datových hodnot, který obsahuje páry klíč–hodnota. Každý pár klíč–hodnota ve slovníku mapuje klíč ke své přidružené hodnotě, čímž je optimalizován. Slovník v pythonu je deklarován uzavřením seznamu párů klíč-hodnota oddělených čárkami pomocí složených závorek ({}). Python Slovník je rozdělen do dvou prvků: Klíče a Hodnoty.
- Klíče budou jedním prvkem
- Hodnoty mohou být seznam nebo seznam v seznamu, čísla atd.
Syntaxe pro Python Slovník
Dict = { ' Tim': 18, xyz,.. }
Slovník je uveden ve složených závorkách, uvnitř těchto složených závorek jsou deklarovány klíče a hodnoty. Každý klíč je od své hodnoty oddělen dvojtečkou (:), zatímco čárky oddělují jednotlivé prvky.
Vlastnosti slovníkových klíčů
Při používání slovníkových kláves jsou důležité dva body
- Více než jeden záznam na klíč není povolen (není povolen žádný duplicitní klíč)
- Hodnoty ve slovníku mohou být libovolného typu, zatímco klíče musí být neměnné jako čísla, n-tice
- Klíče slovníku rozlišují velká a malá písmena - Stejný název klíče, ale s různými velikostmi písmen, se s nimi zachází jako s různými klíči Python slovníky.
Python 2 Příklad
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print (Dict['Tiffany'])
Python 3 Příklad
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print((Dict['Tiffany']))
- V kódu máme název slovníku „Dict“
- Ve slovníku jsme uvedli jméno a věk osoby, kde jméno je „Klíče“ a věk je „hodnota“
- Nyní spusťte kód
- Získává věk tiffanyho ze slovníku.
Python Slovníkové metody
Kopírování slovníku
Můžete také zkopírovat celý slovník do nového slovníku. Zde jsme například zkopírovali náš původní slovník do nového slovníku s názvem „Chlapci“ a „Dívky“.
Python 2 Příklad
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} studentX=Boys.copy() studentY=Girls.copy() print studentX print studentY
Python 3 Příklad
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} studentX=Boys.copy() studentY=Girls.copy() print(studentX) print(studentY)
- Máme originální slovník (Dict) se jménem a věkem chlapců a dívek pohromadě
- Chceme však seznam chlapců oddělený od seznamu dívek, takže jsme definovali prvek chlapců a dívek v samostatném slovníku s názvem „Chlapci“ a „Dívky“.
- Nyní jsme opět vytvořili nový název slovníku „student X“ a „student Y“, kde všechny klíče a hodnoty chlapeckého slovníku jsou zkopírovány do studenta X a dívky budou zkopírovány do studentY
- Takže teď se nemusíte dívat do celého seznamu v hlavním slovníku (Dict), abyste zjistili, kdo je chlapec a kdo je dívka, stačí vytisknout student X, pokud chcete seznam chlapců a StudentY, pokud chcete seznam dívek
- Když tedy spustíte slovník studenta X a studenta Y, poskytne všechny prvky přítomné ve slovníku „chlapců“ a „dívek“ odděleně.
Aktualizace slovníku
Slovník můžete také aktualizovat přidáním nového záznamu nebo páru klíč–hodnota k existujícímu záznamu nebo odstraněním existujícího záznamu. Zde v příkladu přidáme do našeho stávajícího slovníku další jméno, „Sarah“.
Python 2 Příklad
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Dict.update({"Sarah":9}) print Dict
Python 3 Příklad
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Dict.update({"Sarah":9}) print(Dict)
- Náš stávající slovník „Dict“ nemá jméno „Sarah“.
- K přidání Sarah do našeho stávajícího slovníku používáme metodu Dict.update
- Nyní spusťte kód, přidá Sarah do našeho stávajícího slovníku
Odstraňte klíče ze slovníku
Python slovník vám dává svobodu odstranit jakýkoli prvek ze seznamu slovníků. Předpokládejme, že nechcete jméno Charlie v seznamu, takže můžete odstranit klíčový prvek pomocí následujícího kódu.
Python 2 Příklad
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} del Dict ['Charlie'] print Dict
Python 3 Příklad
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} del Dict ['Charlie'] print(Dict)
Když spustíte tento kód, měl by vytisknout seznam slovníků bez Charlieho.
- Použili jsme kód del Dict
- Když byl kód spuštěn, vymazal Charlie z hlavního slovníku
Metoda slovníkových položek().
Metoda items() vrací seznam n-ticových párů (klíče, hodnota) ve slovníku.
Python 2 Příklad
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print "Students Name: %s" % Dict.items()
Python 3 Příklad
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("Students Name: %s" % list(Dict.items()))
- Používáme metodu code items() pro náš Dict.
- Po provedení kódu vrátí seznam položek (klíčů a hodnot) ze slovníku
Zkontrolujte, zda daný klíč již ve slovníku existuje
U daného seznamu můžete také zkontrolovat, zda náš dětský slovník existuje v hlavním slovníku nebo ne. Zde máme dva podslovníky „Boys“ a „Girls“, nyní chceme zkontrolovat, zda náš slovník Boys existuje v našem hlavním „Dictu“ nebo ne. K tomu používáme metodu cyklu for s metodou else if.
Python 2 Příklad
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} for key in Boys.keys(): if key in Dict.keys(): print True else: print False
Python 3 Příklad
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} for key in list(Boys.keys()): if key in list(Dict.keys()): print(True) else: print(False)
- Jedno forloop v kódu zkontroluje každý klíč v hlavním slovníku na klíče pro chlapce
- Pokud existuje v hlavním slovníku, měl by vypsat hodnotu true, jinak by měl vypsat hodnotu false
- Když kód spustíte, vypíše třikrát „True“, protože v našem slovníku „Boys“ máme tři prvky
- Znamená to tedy, že „Chlapci“ existují v našem hlavním slovníku (Dict)
Řazení slovníku
Ve slovníku můžete prvky také třídit. Chceme-li například vytisknout názvy prvků našeho slovníku abecedně, musíme použít smyčku for. Podle toho seřadí každý prvek slovníku.
Python 2 Příklad
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} Students = Dict.keys() Students.sort() for S in Students: print":".join((S,str(Dict[S])))
Python 3 Příklad
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} Students = list(Dict.keys()) Students.sort() for S in Students: print(":".join((S,str(Dict[S]))))
- Deklarovali jsme proměnnou studenti pro náš slovník „Dict“.
- Poté použijeme kód Students.sort, který seřadí prvek uvnitř našeho slovníku
- Abychom však seřadili každý prvek ve slovníku, spustíme cyklus for deklarováním proměnné S
- Nyní, když spustíme kód, smyčka for zavolá každý prvek ze slovníku a vypíše řetězec a hodnotu v pořadí
Python Funkce vestavěné do slovníku
Metoda slovníku len().
Funkce len() udává počet párů ve slovníku.
Například,
Python 2 Příklad
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print "Length : %d" % len (Dict)
Python 3 Příklad
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("Length : %d" % len (Dict))
Když je funkce len (Dict) provedena, dává výstup na „4“, protože v našem slovníku jsou čtyři prvky
Typy proměnných
Python nevyžaduje explicitní deklaraci rezervního paměťového prostoru; děje se to automaticky. Použije se přiřazení hodnot proměnné „=“ rovnítko. Kód pro určení typu proměnné je „%type (Dict).“
Python 2 Příklad
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print "variable Type: %s" %type (Dict)
Python 3 Příklad
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("variable Type: %s" %type (Dict))
- Pro zjištění typu proměnné použijte kód %type
- Když byl kód spuštěn, říká, že typ proměnné je slovník
Python Metoda List cmp().
Používá se metoda porovnání cmp(). Python porovnat hodnoty a klíče dvou slovníků. Pokud metoda vrátí 0, pokud jsou oba slovníky stejné, 1, pokud dic1 > dict2 a -1, pokud dict1 < dict2.
Python 2 Příklad
Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} print cmp(Girls, Boys)
Python 3 Příklad
cmp is not supported in Python 3
- Ve slovníku máme dvě jména, „Chlapci“ a „Dívky“.
- Cokoli deklarujete jako první v kódu „cmp(Girls, Boys)“, bude považováno za slovník 1. V našem případě jsme jako první deklarovali „Dívky“, takže to bude považováno za slovník 1 a chlapci za slovník 2
- Když je kód spuštěn, vypíše -1, což znamená, že náš slovník 1 je menší než slovník 2.
slovník str(diktát)
Pomocí metody Str() můžete slovník vytvořit ve formátu řetězce pro tisk.
Python 2 Příklad
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print "printable string:%s" % str (Dict)
Python 3 Příklad
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("printable string:%s" % str (Dict))
- Použijte kód % str (Dict)
- Vrátí prvky slovníku do tisknutelného formátu řetězce
Zde je seznam všech slovníkových metod
Metoda | Description | Syntax |
---|---|---|
kopírovat () | Zkopírujte celý slovník do nového slovníku | dict.copy() |
aktualizace () | Aktualizujte slovník přidáním nového záznamu nebo páru klíč-hodnota k existujícímu záznamu nebo odstraněním existujícího záznamu. | Dict.update([other]) |
položky () | Vrátí seznam n-ticových párů (Klíče, Hodnota) ve slovníku. | dictionary.items() |
řadit () | Prvky můžete třídit | dictionary.sort() |
len () | Udává počet dvojic ve slovníku. | len (diktát) |
cmp() | Porovnejte hodnoty a klíče dvou slovníků | cmp(dikt1, dikt2) |
str() | Vytvořte slovník do formátu řetězce pro tisk | str(diktát) |
Slučování slovníků
Zde pochopíme, jak sloučit dva dané slovníky do jednoho slovníku.
Mám dva slovníky, jak je uvedeno níže:
Slovník1: můj_dikt1
my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}
Slovník 2: my_dict2
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
Sloučíme oba tyto slovníky my_dict1 a my_dict2 a vytvoříme jediný slovník s namemy_dict.
Sloučit dva slovníky pomocí metody update().
Metoda update() nám pomůže sloučit jeden slovník s druhým. V příkladu aktualizujeme my_dict1 na my_dict2. Po použití metody update() bude mít my_dict1 obsah my_dict2, jak je uvedeno níže:
my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"} my_dict2 = {"firstName" : "Nick", "lastName": "Price"} my_dict1.update(my_dict2) print(my_dict1)
Výstup:
{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}
Slučování slovníků pomocí metody ** (od Python 3.5 a dále)
** se nazývá Kwargs in Python, a bude to fungovat s Python verze 3.5+. Pomocí ** můžeme sloučit dva slovníky a vrátí sloučený slovník. Použití ** před proměnnou nahradí proměnnou s celým jejím obsahem.
Zde je pracovní příklad použití ** ke sloučení dvou adresářů.
my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"} my_dict2 = {"firstName" : "Nick", "lastName": "Price"} my_dict = {**my_dict1, **my_dict2} print(my_dict)
Výstup:
{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}
Test členství ve slovníku
Můžete otestovat, zda je klíč přítomný ve slovníku nebo ne. Tento test lze provést pouze na klíči slovníku, nikoli na hodnotě. Test členství se provádí pomocí in klíčové slovo. Když zkontrolujete klíč ve slovníku pomocí in klíčové slovo, vrátí výraz true, pokud je klíč přítomen, a false, pokud není.
Zde je příklad, který ukazuje test členské lodi ve slovníku.
my_dict = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"} print("email" in my_dict) print("location" in my_dict) print("test" in my_dict)
Výstup:
True True False
Shrnutí
- Slovníky v programovacím jazyce jsou typem datové struktury používané k ukládání nějakým způsobem propojených informací.
- Python Slovník je definován do dvou prvků Keys a Values.
- Slovníky neukládají své informace v žádném konkrétním pořadí, takže nemusíte získat své informace zpět ve stejném pořadí, v jakém jste je zadali.
- Klíče budou jedním prvkem
- Hodnoty mohou být seznam nebo seznam v seznamu, čísla atd.
- Více než jeden záznam na klíč není povolen (není povolen žádný duplicitní klíč)
- Hodnoty ve slovníku mohou být libovolného typu, zatímco klíče musí být neměnné jako čísla, n-tice nebo řetězce.
- Klíče slovníku rozlišují velká a malá písmena - Stejný název klíče, ale s různými velikostmi písmen, se s nimi zachází jako s různými klíči Python slovníky.