Obsah
Slovníky v Krajta jsou to struktury, které nám umožňují spojit hodnotu se jménem, jsou docela příbuzné seznamům. Je to nativní funkce Krajta že mnohokrát ji můžeme najít pod názvem mapování.Slovník v Krajta Má stejnou funkčnost jako jedna v reálném životě, jednoduše nám umožňuje lokalizovat význam slova, v našem případě je to hodnota jména; Toho lze využít k vytváření malých databází v našem programu, k definování umístění na herním plánu, zadávání souřadnic atd.
Podívejme se, jak vytvořit dva seznamy a jak by byly spojeny:
>>> names = ['Alice', 'Beth', 'Cecil', 'Dee-Dee', 'Earl'] >>> numbers = ['2341', '9102', '3158', '0142', '5551']
Jak vidíme, máme seznam jmen a další z čísel, definujeme je všechny jako řetězce, abychom s nimi mohli snáze pracovat. Nyní se podívejme, jestli chceme přistupovat k číslu pomocí jména, jako je:
>>> čísla [names.index ('Cecil')]
Jak vidíme, není to optimální, ve skutečnosti je docela nepříjemné, pokud by to bylo možné jakkoli říci, nyní, pokud bychom to chtěli udělat takto:
>>> telefonní seznam ['Cecil'] 3158
Právě jsme viděli, jak funguje slovník.
Slovníky jsou deklarovány následovně:
phonebook = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
Jak vidíme, že obsah jde do hranatých závorek a odkazujeme je ve dvojicích, kde levá část je název a pravá část je hodnota, oddělíme prvky čárkami a to je zatím vše, celkem jednoduché. Můžeme také použít funkce k převodu dalších mapování, slovníků nebo seznamů na slovníky, abychom je mohli začlenit do struktur, které můžeme definovat v rámci našeho programu, a tedy je umět používat. Podívejme se, jak to všechno funguje:
>>> items = [('name', 'Gumby'), ('age', 42)] >>> d = dict (items) >>> d {'age': 42, 'name': 'Gumby '} >>> d [' name ']' Gumby '
Pokud se podíváme, máme seznam nazvaný items, obsahuje dva spárované prvky, jakmile použijeme funkci diktovat, vše je transformováno do slovníkového formátu a nyní to můžeme takto zpracovat.
Další způsob, jak můžeme pracovat na konformaci slovníku s funkcí dict, je použít následující argumenty:
>>> d = dict (name = 'Gumby', věk = 42) >>> d {'age': 42, 'name': 'Gumby'}
Jak to vidíme, ukazuje se nám to jako něco velmi užitečného, abychom to mohli používat v našich programech.
V rámci našeho slovníkového typu máme několik metod, které můžeme použít, popíšeme některé z nejpoužívanějších.
- Průhledná: Tato metoda nám umožňuje vyčistit slovník, k jeho použití používáme následující kód:
>>> d = {} >>> d ['name'] = 'Gumby' >>> d ['věk'] = 42 >>> d {'věk': 42, 'name': 'Gumby'} >>> vrácená_hodnota = d.clear () >>> d {} >>> tisk vrácená_hodnota Žádná
Jak vidíme pouze jedním voláním jasné metody, dokázali jsme náš slovník vyčistit bez větších komplikací.
- Kopírovat: Tato metoda nám umožňuje zkopírovat náš slovník na jiné místo bez změny originálu, podívejme se, jak je toto definováno:
>>> x = {'uživatelské jméno': 'admin', 'machines': ['foo', 'bar', 'baz']} >>> y = x.copy () >>> y ['uživatelské jméno' ] = 'mlh' >>> a ['machines']. remove ('bar') >>> and {'username': 'mlh', 'machines': ['foo', 'baz']}} >> > x {'username': 'admin', 'machines': ['foo', 'baz']}
V tomto bodě bychom si měli všimnout něčeho zajímavého, pokud upravíme hodnotu v kopii, originál zůstane neporušený, ale když odstraníme hodnotu v kopii, stane se to i v originále, protože sdílejí stejný paměťový prostor, je to něco že při práci s touto metodou musíme mít na paměti.
S tímto dokončujeme náš slovníkový tutoriál, nyní můžeme v našem programu používat složitější datové struktury, jak vždy navrhujeme, je velmi důležité procvičovat, abychom obsah internalizovali nejlepším způsobem a měli po ruce znalosti o jeho používání .