Je dois fusionner une liste de dictionnaire python. Par exemple :
dicts[0] = {'a':1, 'b':2, 'c':3}
dicts[1] = {'a':1, 'd':2, 'c':'foo'}
dicts[2] = {'e':57,'c':3}
super_dict = {'a':[1], 'b':[2], 'c':[3,'foo'], 'd':[2], 'e':[57]}
J'ai écrit le code suivant :
super_dict = {}
for d in dicts:
for k, v in d.items():
if super_dict.get(k) is None:
super_dict[k] = []
if v not in super_dict.get(k):
super_dict[k].append(v)
Peut-on le présenter de manière plus élégante / optimisée ?
Note J'ai trouvé un autre question sur SO mais il s'agit de fusionner exactement 2 dictionnaires.