logo

Kā izpakot vārdnīcu programmā python?

Vārdnīca ir kolekcija atslēgas vērtība pāri Python. Lai piekļūtu tās vērtībām, var izmantot vārdnīcas taustiņus. Tomēr ir gadījumi, kad vēlaties iegūt atslēgu un vērtību pārus un piešķirt tos mainīgajiem. Šeit parādās vārdnīcas izpakošana.

Lai izsaiņotu vārdnīcu Python, varat izmantot šādu sintaksi:

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

Izvade:

 John 30 New York 

Šajā piemērā mums ir vārdnīca mans_dikts ar trim atslēgu-vērtību pāriem. Lai iegūtu vārdnīcas vērtības un piešķirtu tās mainīgajiem, mēs izmantojam vērtības () vārdnīcas metode. Vārdnīcas vērtības tiek attēlotas sarakstam līdzīgā objektā, ko atgriež šī metode. Pēc tam vērtības tiek piešķirtas konkrētiem mainīgajiem, izmantojot izpakošanas operators (*). Tā kā tas atbilst secībai, kādā vērtības tiek parādītas vērtības () metodi, mainīgo piešķiršanas secībai ir izšķiroša nozīme.

Ņemiet vērā, ka mainīgo skaitam un vārdnīcas vērtībām ir jāsakrīt. Ja mēģināt izpakot vārdnīcu, kurā ir vairāk vai mazāk mainīgo nekā vērtības, jūs saņemsit a ValueError .

Varat arī izpakot vārdnīcu nosauktos mainīgajos, izmantojot vārdnīcas izpakošanas sintaksi:

 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) 

Izvade:

labākais smaids pasaulē
 John 30 New York 

Šajā piemērā mēs piekļūstam vārdnīcas vērtībām, izmantojot to taustiņus, un piešķiram tās nosauktajiem mainīgajiem. Ja no vārdnīcas jāizņem noteiktas vērtības, šī metode ir noderīga.

Visbeidzot, jūs varat izmantot ** operators lai, izsaucot funkciju, izsaiņotu vārdnīcu nosauktos argumentos. Piemēram:

 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) 

Izvade:

 John is 30 years old and lives in New York 

Šajā piemērā mēs definējam funkciju print_person tam nepieciešami trīs argumenti: vārds, vecums , un pilsēta . Pēc tam veidojam vārdnīcu mans_dikts kas satur šo argumentu vērtības. Mēs izmantojam vārdnīcu izpakošanas operators** lai funkcijai nodotu vārdnīcas vērtības kā nosauktus argumentus. Rezultāts ir tāds pats kā zvanot print_person('Jānis', 30, 'Ņujorka') .