0
votes

Fusionner deux listes de dictionnaires avec différentes clés

J'ai deux listes de dictionnaires.

list3 = [{'id': '1', 'name': 'one', 'age': '52', 'sal': '95'},{'id': '2', 'name': 'two', 'age': '37', 'sal': '86'}]

list1.extend(list2) hasn't given me the desired result.


0 commentaires

3 Réponses :


2
votes

mutabilité des dictionnaires et update code> donne la réponse nécessaire, mais stockée dans list1 code>.

[lst1.update(lst2) for lst1, lst2 in zip(list1, list2)]
print(list1)


1 commentaires

Utilisation de ListCompps (une construction de programmation fonctionnelle) pour les effets secondaires est terrible. Si vous voulez faire cela en place, juste faire pour d1, d2 dans zip (list1, list2): d1.Update (d2) et évitez de créer une liste de code temporaire inutile > de Aucun . Utilisez uniquement la listeComp si vous effectuez de nouveaux dict S sans modifier les originaux, par exemple list3 = [{** d1, ** d2} pour d1, d2 dans zip (liste1, list2) ]



1
votes

Vous pouvez utiliser la fonction dict.update () pour fusionner 2 objets de dictionnaire à l'intérieur de celui qui l'appelle: xxx

puisque vous devez le faire pour deux éléments de dictionnaire correspondants à la Même index dans les 2 listes: xxx


0 commentaires

0
votes

Vous pouvez zip les deux listes et fusionner les deux dictionnaires avec {** x, ** y} : xxx


0 commentaires