logo

Kaip išpakuoti žodyną python?

Žodynas yra rinkinys rakto vertė poros Python. Žodyno raktai gali būti naudojami norint pasiekti jo reikšmes. Tačiau kartais norisi išskirti rakto-reikšmių poras ir priskirti jas kintamiesiems. Čia atsiranda žodyno išpakavimas.

Norėdami išpakuoti žodyną Python, galite naudoti šią sintaksę:

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

Išvestis:

 John 30 New York 

Šiame pavyzdyje turime žodyną mano_diktas su trimis rakto-reikšmių poromis. Norėdami išgauti žodyno reikšmes ir priskirti jas kintamiesiems, naudojame reikšmės () žodyno metodas. Žodyno reikšmės pateikiamos į sąrašą panašiame objekte, kurį grąžina šis metodas. Vėliau reikšmės priskiriamos konkretiems kintamiesiems naudojant išpakavimo operatorius (*). Kadangi jis atitinka tvarką, kuria reikšmės rodomos reikšmės () metodu, kintamųjų priskyrimo tvarka yra labai svarbi.

Atminkite, kad kintamųjų skaičius ir žodyno reikšmės turi sutapti. Jei bandysite išpakuoti žodyną su daugiau ar mažiau kintamųjų nei reikšmių, gausite a ValueError .

Taip pat galite išpakuoti žodyną į pavadintus kintamuosius naudodami žodyno išpakavimo sintaksę:

 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) 

Išvestis:

 John 30 New York 

Šiame pavyzdyje mes pasiekiame žodyno reikšmes naudodami jų raktus ir priskiriame jas pavadintiems kintamiesiems. Kai reikia iš žodyno išskirti konkrečias reikšmes, šis metodas yra naudingas.

Galiausiai galite naudoti ** operatorius išpakuoti žodyną į pavadintus argumentus, kai iškviečiama funkcija. Pavyzdžiui:

 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) 

Išvestis:

 John is 30 years old and lives in New York 

Šiame pavyzdyje mes apibrėžiame funkciją print_person tam reikia trijų argumentų: vardas, amžius , ir miestas . Po to kuriame žodyną mano_diktas kuriuose yra šių argumentų reikšmės. Mes naudojame žodyną išpakavimo operatorius** perduoti funkcijai žodyno reikšmes kaip įvardytus argumentus. Rezultatas toks pat kaip skambinant print_person('Jonas', 30, 'Niujorkas') .