Slovník je zbierka kľúč-hodnota párov v Pythone. Na prístup k jeho hodnotám je možné použiť kľúče slovníka. Sú však chvíle, keď chcete extrahovať páry kľúč – hodnota a priradiť ich k premenným. Tu prichádza na rad rozbaľovanie slovníka.
Ak chcete rozbaliť slovník v Pythone, môžete použiť nasledujúcu syntax:
mravec vs človek
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} name, age, city = my_dict.values() print(name) print(age) print(city)
Výkon:
John 30 New York
V tomto príklade máme slovník môj_dikt s tromi pármi kľúč – hodnota. Na extrakciu hodnôt zo slovníka a ich priradenie k premenným používame hodnoty() metóda slovníka. Hodnoty slovníka sú reprezentované v zozname podobnom objekte, ktorý táto metóda vracia. Hodnoty sú následne priradené konkrétnym premenným pomocou operátor vybaľovania (*). Keďže sa zhoduje s poradím, v ktorom sa hodnoty objavujú v hodnoty() pri metóde je rozhodujúce poradie, v ktorom premenné priraďujeme.
Uvedomte si, že počet premenných a hodnoty slovníka sa musia zhodovať. Ak sa pokúsite rozbaliť slovník s viac alebo menej premennými ako hodnotami, dostanete a ValueError .
Slovník môžete tiež rozbaliť do pomenovaných premenných pomocou syntaxe rozbalenia slovníka:
vytvorenie oracle tabuľky
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} name, age, city = my_dict['name'], my_dict['age'], my_dict['city'] print(name) print(age) print(city)
Výkon:
John 30 New York
V tomto príklade pristupujeme k hodnotám slovníka pomocou ich kľúčov a priraďujeme ich k pomenovaným premenným. Keď potrebujete extrahovať konkrétne hodnoty zo slovníka, táto metóda je užitočná.
Nakoniec môžete použiť ** operátor na rozbalenie slovníka do pomenovaných argumentov pri volaní funkcie. Napríklad:
def print_person(name, age, city): print(f'{name} is {age} years old and lives in {city}') my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} print_person(**my_dict)
Výkon:
John is 30 years old and lives in New York
V tomto príklade definujeme funkciu print_person chce to tri argumenty: meno, vek , a mesto . Potom vytvoríme slovník môj_dikt obsahujúce hodnoty týchto argumentov. Používame slovník operátor vybalenia ** na odovzdanie hodnôt zo slovníka ako pomenovaných argumentov do funkcie. Výsledok je rovnaký ako pri volaní print_person('John', 30, 'New York') .