Речникът е колекция от ключ-стойност двойки в Python. Ключовете на речника могат да се използват за достъп до неговите стойности. Въпреки това, има моменти, когато искате да извлечете двойките ключ-стойност и да ги присвоите на променливи. Тук се намесва разопаковането на речника.
За да разопаковате речник в Python, можете да използвате следния синтаксис:
Powershell администратор
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} name, age, city = my_dict.values() print(name) print(age) print(city)
Изход:
John 30 New York
В този пример имаме речник my_dict с три двойки ключ-стойност. За да извлечем стойностите на речника и да ги присвоим на променливи, използваме стойности() метод на речника. Стойностите на речника са представени в подобен на списък обект, който този метод връща. Стойностите впоследствие се присвояват на конкретни променливи с помощта на оператор за разопаковане (*). Тъй като съответства на реда, в който се появяват стойностите в стойности() метод, редът, в който присвояваме променливите, е от решаващо значение.
Имайте предвид, че броят на променливите и стойностите на речника трябва да съвпадат. Ако се опитате да разопаковате речник с повече или по-малко променливи от стойности, ще получите a ValueError .
Можете също така да разопаковате речник в именувани променливи, като използвате синтаксиса за разопаковане на речника:
len на масив в java
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)
Изход:
John 30 New York
В този пример имаме достъп до стойностите на речника, като използваме техните ключове и ги присвояваме на именувани променливи. Когато трябва да извлечете конкретни стойности от речник, този метод е полезен.
как да четем json файл
Накрая можете да използвате ** оператор за разопаковане на речник в именувани аргументи при извикване на функция. Например:
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)
Изход:
John is 30 years old and lives in New York
В този пример ние дефинираме функция print_person това изисква три аргумента: име, възраст , и град . След това създаваме речник my_dict съдържащи стойностите на тези аргументи. Използваме речника оператор разопаковане ** за предаване на стойностите на речника като именувани аргументи на функцията. Резултатът е същият като при обаждане print_person('Джон', 30, 'Ню Йорк') .