Dans Python, les dictionnaires sont mutables. Cela signifie que nous pouvons modifier les valeurs d'un dictionnaire après la déclaration.
Ce tutoriel vous apprendra diverses façons de «concaténer» deux dictionnaires en un.
Utilisation de l'opérateur de tuyau
Dans Python 3 et plus, vous pouvez utiliser l'opérateur de tuyau (|) pour concaténer deux dictionnaires en 1.
Un exemple est indiqué ci-dessous:
relationnel = 'mysql': 3306, 'Postgresql': 5432, 'Oracle': 1521Le code ci-dessus doit ajouter le deuxième dictionnaire au premier par ordre d'apparence.
Cela devrait entraîner un nouveau dictionnaire comme indiqué:
'Mysql': 3306, 'Postgresql': 5432, 'Oracle': 1521, 'redis': 6379, 'MongoDB': 27017Utilisation d'une boucle pour
Nous pouvons également ajouter deux dictionnaires en utilisant un pour boucle. Il fonctionne en itérant sur chaque clé et valeur d'un dictionnaire et en le appuyant sur l'autre.
Un exemple est indiqué ci-dessous:
relationnel = 'mysql': 3306, 'Postgresql': 5432, 'Oracle': 1521Dans l'exemple ci-dessus, nous commençons par copier le premier dictionnaire dans le dictionnaire que nous souhaitons ajouter. Nous boucons ensuite sur chaque clé et valeur du deuxième dictionnaire en utilisant la méthode des éléments ().
Enfin, nous ajoutons la clé et la valeur du dictionnaire copié.
La sortie résultante est comme indiqué:
'Mysql': 3306, 'Postgresql': 5432, 'Oracle': 1521, 'redis': 6379, 'MongoDB': 27017Utilisation de l'opérateur **
L'opérateur ** kwargs à Python nous permet de transmettre n'importe quel nombre d'arguments à une fonction. Par conséquent, nous pouvons utiliser cette astuce pour déballer les dictionnaires dans un nouveau dict.
Un exemple est illustré ci-dessous:
relationnel = 'mysql': 3306, 'Postgresql': 5432, 'Oracle': 1521Le code ci-dessus doit retourner:
'Mysql': 3306, 'Postgresql': 5432, 'Oracle': 1521, 'redis': 6379, 'MongoDB': 27017En utilisant la méthode de mise à jour
Nous pouvons également utiliser la méthode Update () dans les dictionnaires Python pour fusionner deux ou plusieurs dictionnaires.
Un exemple d'utilisation est illustré ci-dessous:
relationnel = 'mysql': 3306, 'Postgresql': 5432, 'Oracle': 1521Dans l'exemple ci-dessus, nous commençons par copier le premier dictionnaire. Cela nous aide à empêcher l'écrasement du premier dictionnaire.
Utilisation de la méthode ChainMap
Nous pouvons également utiliser la méthode ChainMap du module Collections pour fusionner deux dictionnaires.
La fonction ChainMap nous permet de regrouper deux dictionnaires ou plus dans une seule vue de mise à jour.
Un exemple est comme indiqué:
à partir des collections Import ChainmapLe Chainmap doit prendre les dictionnaires comme les paramètres et renvoie un dictionnaire fusionné comme indiqué:
ChainMap ('MySQL': 3306, 'PostgreSQL': 5432, 'Oracle': 1521, 'redis': 6379, 'MongoDB': 27017)Notez que le type résultant n'est pas un dictionnaire python natif mais une classe.collections.Type map chain.
Conclusion
Dans cet article, nous avons plongé profondément dans diverses méthodes de fusion de deux dictionnaires ou plus à Python.