Unire dizionari in Python
Supponiamo di avere due o più dizionari da unire.
In Python abbiamo diversi modi per fare questa operazione; in tutti i casi non ci servono moduli esterni.
Tralasciamo l'esempio più facile che consiste nell'iterare su un dizionario ed aggiungerlo all'altro; ci sono modi più belli!
Qui sotto tutti gli esempi con il commento:
from collections import ChainMap
dict1 = {
'matteo': 'roma',
'simona': 'new york',
'francesco': 'londra'
}
dict2 = {
'marco': 'terracina',
'miriam': 'parigi'
}
# COPY E UPDATE
dict3 = dict1.copy()
dict3.update(dict2)
print(dict3)
# OPERATORE UNPACKING
dict4 = {**dict1, **dict2}
print(dict4)
# CHAIN MAP
dict5 = ChainMap(dict1, dict2)
print(dict5)
# OPERATORE MERGE
dict6 = dict1 | dict2
print(dict6)
Alcun note:
- l'operatore merge è disponibile solo dalla versione 3.9 di Python
- come potete ChainMap non restituisce un nuovo dizionario, ma un oggetto; sta a voi poi elaborarlo
Enjoy!
python collections chainmap dictionary
Commentami!