A szótár a kulcs érték párok Pythonban. A szótár kulcsai használhatók az értékek eléréséhez. Vannak azonban olyan esetek, amikor ki szeretné bontani a kulcs-érték párokat, és változókhoz rendelni. Itt jön be a szótár kicsomagolása.
A Pythonban lévő szótár kicsomagolásához a következő szintaxist használhatja:
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} name, age, city = my_dict.values() print(name) print(age) print(city)
Kimenet:
John 30 New York
Ebben a példában van egy szótárunk my_dict három kulcs-érték párral. A szótár értékeinek kinyeréséhez és változókhoz rendeléséhez használjuk a értékek() a szótár módszere. A szótár értékei egy listaszerű objektumban jelennek meg, amelyet ez a metódus ad vissza. Az értékeket ezt követően a rendszer adott változókhoz rendeli a kicsomagoló operátor (*). Mivel megegyezik az értékek megjelenési sorrendjével a értékek() módszer, a változók hozzárendelésének sorrendje döntő.
Ügyeljen arra, hogy a változók számának és a szótári értékeknek egyeznie kell. Ha olyan szótárt próbál kicsomagolni, amelynél több vagy kevesebb változó van, mint az érték, akkor a ValueError .
A szótár kicsomagolási szintaxisának használatával is kicsomagolhatja a szótárat elnevezett változókba:
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)
Kimenet:
John 30 New York
Ebben a példában a szótár értékeit a kulcsaikkal érjük el, és elnevezett változókhoz rendeljük. Ha konkrét értékeket kell kivonnia egy szótárból, ez a módszer hasznos.
Végül használhatja a ** operátor a szótár kicsomagolása elnevezett argumentumokba függvény hívásakor. Például:
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)
Kimenet:
John is 30 years old and lives in New York
Ebben a példában egy függvényt definiálunk print_person ehhez három érv szükséges: név életkor , és város . Ezt követően szótárt készítünk my_dict amely ezen argumentumok értékeit tartalmazza. A szótárat használjuk kicsomagoló operátor ** hogy a szótár értékeit elnevezett argumentumként adja át a függvénynek. Az eredmény ugyanaz, mint a hívás print_person('John', 30, 'New York') .