Muszę połączyć listę słownika Pythona. Dla npscalanie kilku słowników python
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]}
Napisałem następujący kod:
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)
Może on być przedstawiony bardziej elegancko/zoptymalizowana?
Uwaga znalazłem inny question na SO ale jego o scalanie dokładnie 2 słowniki.
@SvenMarnach Thats zbyt hojne z was! Gotowe. + 1-ta odpowiedź też :) – jerrymouse
** Zobacz także **: [scalony słownik zagnieżdżony] (https://stackoverflow.com/questions/7204805/dictionaries-of-dictionaries-merge) – dreftymac
** Zobacz także: ** [ podobne pytanie] (https://stackoverflow.com/questions/2365921/merging-python-dictionaries) – dreftymac