logo

Kako razpakirati slovar v pythonu?

Slovar je zbirka ključ-vrednost parov v Pythonu. Za dostop do njegovih vrednosti lahko uporabite ključe slovarja. Vendar pa včasih želite izvleči pare ključ-vrednost in jih dodeliti spremenljivkam. Tukaj nastopi razpakiranje slovarja.

Če želite razpakirati slovar v Pythonu, lahko uporabite naslednjo sintakso:

zimsko narečje
 my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} name, age, city = my_dict.values() print(name) print(age) print(city) 

Izhod:

 John 30 New York 

V tem primeru imamo slovar my_dict s tremi pari ključ-vrednost. Za ekstrahiranje vrednosti slovarja in njihovo dodelitev spremenljivkam uporabljamo vrednote() metoda slovarja. Vrednosti slovarja so predstavljene v seznamu podobnem objektu, ki ga vrne ta metoda. Vrednosti so naknadno dodeljene določenim spremenljivkam z uporabo operater razpakiranja (*). Ker se ujema z vrstnim redom, v katerem so prikazane vrednosti v vrednote() Metoda je ključnega pomena vrstni red, v katerem spremenljivke dodeljujemo.

Zavedajte se, da se mora število spremenljivk in vrednosti slovarja ujemati. Če poskusite razpakirati slovar z več ali manj spremenljivkami kot vrednostmi, boste dobili ValueError .

Slovar lahko tudi razpakirate v poimenovane spremenljivke z uporabo sintakse razpakiranja slovarja:

 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) 

Izhod:

 John 30 New York 

V tem primeru dostopamo do vrednosti slovarja z njihovimi ključi in jih dodelimo poimenovanim spremenljivkam. Ko morate iz slovarja izvleči določene vrednosti, je ta metoda v pomoč.

Končno lahko uporabite ** operater za razpakiranje slovarja v poimenovane argumente pri klicu funkcije. Na primer:

 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) 

Izhod:

 John is 30 years old and lives in New York 

V tem primeru definiramo funkcijo print_person ki zahteva tri argumente: ime, starost , in mesto . Po tem izdelamo slovar my_dict ki vsebuje vrednosti teh argumentov. Uporabljamo slovar operater razpakiranja ** da posredujete vrednosti slovarja kot imenovane argumente funkciji. Rezultat je enak klicu print_person('Janez', 30, 'New York') .