Python Language Disimballaggio dei dizionari usando l'operatore **

Esempio

È possibile utilizzare l'operatore di disimballaggio dell'argomento parola chiave ** per distribuire le coppie chiave-valore in un dizionario negli argomenti di una funzione. Un esempio semplificato dalla documentazione ufficiale :

>>>
>>> def parrot(voltage, state, action):
...     print("This parrot wouldn't", action, end=' ')
...     print("if you put", voltage, "volts through it.", end=' ')
...     print("E's", state, "!")
...
>>> d = {"voltage": "four million", "state": "bleedin' demised", "action": "VOOM"}
>>> parrot(**d)

This parrot wouldn't VOOM if you put four million volts through it. E's bleedin' demised !

A partire da Python 3.5 è anche possibile utilizzare questa sintassi per unire un numero arbitrario di oggetti dict .

>>> fish = {'name': "Nemo", 'hands': "fins", 'special': "gills"}
>>> dog = {'name': "Clifford", 'hands': "paws", 'color': "red"}
>>> fishdog = {**fish, **dog}
>>> fishdog

{'hands': 'paws', 'color': 'red', 'name': 'Clifford', 'special': 'gills'}

Come dimostra questo esempio, le chiavi duplicate si associano al loro ultimo valore (ad esempio "Clifford" sovrascrive "Nemo").