Maison >développement back-end >Tutoriel Python >Comment fusionner une liste de dictionnaires en un seul dictionnaire en Python ?

Comment fusionner une liste de dictionnaires en un seul dictionnaire en Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-09 21:55:02322parcourir

How to Merge a List of Dictionaries into a Single Dictionary in Python?

Fusionner une liste de dictionnaires en un seul dictionnaire

Pour combiner plusieurs dictionnaires en un seul dictionnaire complet, les programmeurs sont souvent confrontés au défi de fusionner ces dictionnaires tout en conservant des clés uniques . Voici une solution à ce problème courant :

Pour une liste d'entrée de dictionnaires, tels que [{'a': 1}, {'b': 2}, {'c': 1}, {' d' : 2}], le but est d'obtenir un dictionnaire unique consolidé : {'a' : 1, 'b' : 2, 'c' : 1, 'd' : 2}.

Pour y parvenir, nous utilisons une approche itérative simple :

result = {}
for d in L:
    result.update(d)

Cette approche itère sur chaque dictionnaire de la liste, fusionnant ses paires clé-valeur dans le dictionnaire de résultats en utilisant la méthode update(). Le résultat est un dictionnaire complet avec toutes les clés uniques et les valeurs associées de la liste d'entrée des dictionnaires.

Alternativement, on peut utiliser une approche basée sur la compréhension dans Python 2.7 ou version ultérieure :

result = {k: v for d in L for k, v in d.items()}

Ou, pour les versions Python antérieures à 2.7 :

result = dict(pair for d in L for pair in d.items())

Ces méthodes produisent également le dictionnaire fusionné souhaité, démontrant la polyvalence de Capacités de manipulation de données de Python.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn