Python – añadir un diccionario a otro

Quiero actualizar un diccionario con otro en Python, pero si hay algunos argumentos, se deben agregar sus valores. Por ejemplo:

a = {"word_1" : 1, "word_2": 2} b = {"word_2" : 5, "word_3": 7} 

La salida debe ser:

 {"word_1" : 1, "word_2": 7, "word_3": 7} 

He buscado mucho en Google, pero en la mayoría de las respuestas se reescriben los valores, quiero agregarlos Aquí está mi solución:

  for i in a.keys(): if i in b.keys(): b[i] += a[i] else: b[i] = a[i] 

¿Hay alguna forma más eficiente de hacerlo?

Use un Counter , que es un tipo especial de diccionario para contar objetos.

 from collections import Counter a = Counter({"word_1" : 1, "word_2": 2}) b = Counter({"word_2" : 5, "word_3": 7}) print(a + b) 

huellas dactilares

 Counter({'word_2': 7, 'word_3': 7, 'word_1': 1}) 

Qué tal si:

 {k: a.get(k, 0) + b.get(k, 0) for k in set(list(a.keys()) + list(b.keys()))}