J'ai une très longue liste de dictionnaires avec des index de chaînes et des valeurs entières. La plupart des clés sont identiques dans les dictionnaires, mais pas toutes. Je veux générer un dictionnaire dans lequel les clés sont l'union des clés dans les dictionnaires séparés et les valeurs sont la somme de toutes les valeurs correspondant à cette clé dans chacun des dictionnaires. (Par exemple, la valeur de la clé 'apple' dans le dictionnaire combiné sera la somme de la valeur de 'apple' dans le premier, plus la somme de la valeur de 'apple' dans la seconde, etc.)Ajouter des éléments dans une liste de dictionnaires
J'ai ce qui suit, mais il est plutôt lourd et prend âges pour exécuter. Existe-t-il un moyen plus simple d'obtenir le même résultat?
comb_dict = {}
for dictionary in list_dictionaries:
for key in dictionary:
comb_dict.setdefault(key, 0)
comb_dict[key] += dictionary[key]
return comb_dict
Merci! f2() a effectivement coupé environ 80% du temps pour mon application particulière. YRMV, évidemment. – chimeracoder