En ordbok är en samling av nyckelvärde par i Python. En ordboks nycklar kan användas för att komma åt dess värden. Det finns dock tillfällen då du vill extrahera nyckel-värdeparen och tilldela dem till variabler. Det är här uppackning av ordbok kommer in.
För att packa upp en ordbok i Python kan du använda följande syntax:
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} name, age, city = my_dict.values() print(name) print(age) print(city)
Produktion:
John 30 New York
I det här exemplet har vi en ordbok mitt_dikt med tre nyckel-värdepar. För att extrahera värdena i ordboken och tilldela dem till variabler använder vi värden() metod för ordboken. Värdena i ordboken representeras i ett listliknande objekt som denna metod returnerar. Värdena tilldelas sedan till specifika variabler med hjälp av uppackningsoperatör (*). Eftersom det matchar den ordning i vilken värdena visas i värden() metod är ordningen i vilken vi tilldelar variablerna avgörande.
Tänk på att antalet variabler och ordboksvärden måste matcha. Om du försöker packa upp en ordbok med fler eller färre variabler än värden får du en ValueError .
Du kan också packa upp en ordbok i namngivna variabler genom att använda syntaxen för uppackning av ordboken:
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)
Produktion:
John 30 New York
I det här exemplet kommer vi åt värdena i ordboken med hjälp av deras nycklar och tilldelar dem till namngivna variabler. När du behöver extrahera specifika värden från en ordbok är den här metoden användbar.
Slutligen kan du använda ** operatör att packa upp en ordbok i namngivna argument när en funktion anropas. Till exempel:
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)
Produktion:
John is 30 years old and lives in New York
I det här exemplet definierar vi en funktion print_person det krävs tre argument: namn ålder , och stad . Efter det skapar vi en ordbok mitt_dikt som innehåller värdena för dessa argument. Vi använder ordboken uppackningsoperatör ** för att skicka ordbokens värden som namngivna argument till funktionen. Resultatet är detsamma som att ringa print_person('John', 30, 'New York') .