5 příkladů použití Dict Comprehension v Pythonu

List Comprehension je praktický a rychlejší způsob vytváření seznamů v Pythonu na jediném řádku kódu. Pomáhá nám psát snadno čitelné smyčky for na jediném řádku.

Slovník je v jazyce Python datová struktura pro ukládání dat tak, že každý prvek uložených dat je spojen s klíčem. Slovníková datová struktura umožňuje velmi efektivně se dotazovat na data pomocí klíče.

Myšlenka porozumění není v jazyce Python jedinečná pouze pro seznamy. Slovníky, jedna z běžně používaných datových struktur v datové vědě, také umí porozumění. Pomocí dict comprehension neboli slovníkového porozumění lze snadno vytvářet slovníky.

Pamatujte si, že v jazyce Python je seznam definován hranatými závorkami a slovník je definován kudrnatými závorkami {}. Myšlenka použitá při definici seznamového porozumění je přenesena i při definici dictového porozumění. Porozumění diktů je definováno podobnou syntaxí, ale s dvojicí klíč:hodnota ve výrazu.

  • {klíč:hodnota pro i v seznamu}

Podívejme se na 5 jednoduchých příkladů použití porozumění diktů pro snadné vytváření nových slovníků.

Přidán šestý příklad porozumění diktů pro mazání klíčů ve slovníku.

Příklad 1 porozumění diktátu

Podívejme se na rychlý příklad vytvoření porozumění diktátu ze seznamu čísel.

Použijeme seznam čísel a vytvoříme slovník s řetězcovou hodnotou čísla jako klíčem a číslem jako hodnotou.

# dict comprehension to create dict with numbers as values>{str(i):i for i in }{'1': 1, '3': 3, '2': 2, '5': 5, '4': 4}

Příklad porozumění dict 2

Řekněme, že máme seznam ovoce a můžeme pomocí porozumění dict vytvořit slovník s ovocem, prvky seznamu jako klíči a délkou jednotlivých řetězců jako hodnotami.

# create list of fruits>fruits = # dict comprehension to create dict with fruit name as keys>{f:len(f) for f in fruits}{'cherry': 6, 'mango': 5, 'apple': 5, 'banana': 6}

Příklad porozumění dict 3

Vytvoříme slovník pomocí porozumění dict tak, že jako klíče budou prvky seznamu a jako hodnoty prvky s prvním velkým písmenem.

>{f:f.capitalize() for f in fruits}{'cherry': 'Cherry', 'mango': 'Mango', 'apple': 'Apple', 'banana': 'Banana'}

Příklad porozumění dict 4

Použijeme funkci enumerate v porozumění dict. Pokud jste nepoužili funkci enumerate: enumerate může vzít jako vstup jakoukoli iterovatelnou věc a vrátí prvek a jeho index.

Tady použijeme funkci enumerate na seznamu, abychom vytvořili index a tuply prvků seznamu a použili je k vytvoření slovníku s porozuměním dict. Vytvoříme slovník s prvky seznamu jako klíči a indexy prvků jako hodnotami. Takové slovníky s indexem prvků jsou často užitečné v různých scénářích.

# dict comprehension example using enumerate function>{f:i for i,f in enumerate(fruits)}{'cherry': 3, 'mango': 1, 'apple': 0, 'banana': 2}

Příklad 5 s porozuměním dict

Dalším použitím porozumění dict je obrácení vztahu klíč:hodnota v existujícím slovníku. Někdy můžete chtít vytvořit nový slovník z existujícího adresáře tak, že role dvojice klíč:hodnota v prvním slovníku bude v novém slovníku obrácená. Můžeme použít funkci Dict Comprehension a převrátit slovník element to index na slovník index to element.

# dict comprehension example to reverse key:value pair in a dictionary>f_dict = {f:i for i,f in enumerate(fruits)}>f_dict{'apple': 0, 'banana': 2, 'cherry': 3, 'mango': 1}# dict comprehension to reverse key:value pair in a dictionary>{v:k for k,v in f_dict.items()}{0: 'apple', 1: 'mango', 2: 'banana', 3: 'cherry'}

Pomocí funkce dictionaries‘ items jsme získali dvojice klíč, hodnota ve stávajícím slovníku a vytvořili nový slovník, kde klíče v původním slovníku jsou hodnoty v novém slovníku a naopak.

Příklad 6: Jak odstranit vybrané klíče ze slovníku pomocí funkce Dict Comprehension?

Řekněme, že máte slovník a chcete vytvořit nový slovník odstraněním určité dvojice klíč-hodnota. Pomocí nástroje Dict Comprehension můžeme ze slovníku odstranit vybrané dvojice klíč-hodnota a vytvořit nový slovník.

Použijeme slovník „fruit“, který jsme vytvořili výše.

fruits = f_d1 ={f:f.capitalize() for f in fruits}f_d1

Pomocí nástroje diction comprehension odstraníme ze slovníku fruit dva klíče, jablko a banán, a jejich hodnoty.

# keys to be removed>remove_this = {'apple','cherry'}# dict comprehension example to delete key:value pairs in a dictionary>{key:f_d1 for key in f_d1.keys() - remove_this}{'banana': 'Banana', 'mango': 'Mango'}

Jednoduše jsme odstranili klíče, jablko a třešeň, pomocí objektu dict keys s operací set a nový slovník nyní obsahuje pouze banán a mango.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.