Python fusionne les dictionnaires

Python fusionne les dictionnaires
Un dictionnaire fait référence à une collection d'articles non ordonnés dans des paires de valeurs clés. Les dictionnaires sont une structure de données populaire et polyvalente qui peut aider à stocker les données associées.

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': 1521
Autre = 'redis': 6379, 'MongoDB': 27017
tout = relationnel | autre
Imprimer (tout)

Le 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': 27017

Utilisation 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': 1521
Autre = 'redis': 6379, 'MongoDB': 27017
tout = relationnel.copy () # Copiez le tableau
pour k, v dans d'autres.articles():
tout [k] = v
Imprimer (tout)

Dans 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': 27017

Utilisation 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': 1521
Autre = 'redis': 6379, 'MongoDB': 27017
tout = ** relationnel, ** Autre
Imprimer (tout)

Le code ci-dessus doit retourner:

'Mysql': 3306, 'Postgresql': 5432, 'Oracle': 1521, 'redis': 6379, 'MongoDB': 27017

En 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': 1521
Autre = 'redis': 6379, 'MongoDB': 27017
tout = relationnel.copie()
tous.Mise à jour (autre)
Imprimer (tout)

Dans 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 Chainmap
all = ChainMap (relationnel, autre)
Imprimer (tout)

Le 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.