2013-02-12 4 views
18

Existe-t-il un bon moyen de fusionner deux objets en Python? Comme une méthode intégrée ou un appel de bibliothèque fondamentale?Fusionner deux objets en Python

En ce moment, j'ai, mais il semble que quelque chose qui ne devrait pas être fait manuellement:

def add_obj(obj, add_obj): 

    for property in add_obj: 
     obj[property] = add_obj[property] 

Note: Par « objet », je veux dire un « dictionnaire »: obj = {}

+1

tous les objets n'ont pas l'accesseur []. Vous référez-vous aux dictionnaires? – Simon

+0

Copie possible de [Comment fusionner deux dictionnaires Python dans une même expression?] (Https://stackoverflow.com/questions/38987/how-to-merge-two-python-dictionaries-in-a-single-expression) – Rotareti

+1

Le titre est trompeur. Ce devrait être: * Fusionner deux dictionnaires en Python *. – Rotareti

Répondre

37

Si obj est un dictionnaire, utilisez sa fonction update:

obj.update(add_obj) 
5

que diriez-vous

merged = dict() 
merged.update(obj) 
merged.update(add_obj) 

Notez que cela voulait vraiment dire pour les dictionnaires. Si obj est déjà un dictionnaire, vous pouvez utiliser obj.update(add_obj), évidemment.