Adding Dictionaries Together, Python


Answer :

If you're interested in creating a new dict without using intermediary storage: (this is faster, and in my opinion, cleaner than using dict.items())

dic2 = dict(dic0, **dic1) 

Or if you're happy to use one of the existing dicts:

dic0.update(dic1) 

Here are quite a few ways to add dictionaries.

You can use Python3's dictionary unpacking feature.

ndic = {**dic0, **dic1} 

Or create a new dict by adding both items.

ndic = dict(dic0.items() + dic1.items()) 

If your ok to modify dic0

dic0.update(dic1) 

If your NOT ok to modify dic0

ndic = dic0.copy() ndic.update(dic1) 

If all the keys in one dict are ensured to be strings (dic1 in this case, of course args can be swapped)

ndic = dict(dic0, **dic1) 

In some cases it may be handy to use dict comprehensions (Python 2.7 or newer),
Especially if you want to filter out or transform some keys/values at the same time.

ndic = {k: v for d in (dic0, dic1) for k, v in d.items()} 

>>> dic0 = {'dic0':0} >>> dic1 = {'dic1':1} >>> ndic = dict(dic0.items() + dic1.items()) >>> ndic {'dic0': 0, 'dic1': 1} >>> 

Comments

Popular posts from this blog

Converting A String To Int In Groovy

"Cannot Create Cache Directory /home//.composer/cache/repo/https---packagist.org/, Or Directory Is Not Writable. Proceeding Without Cache"

Android How Can I Convert A String To A Editable