Mam listę słowników, które chciałbym połączyć w jeden słownik i dodać wartości z każdego słownika na liście. Na przykład:Najszybszy sposób łączenia n-słowników i dodawania wartości w 2.6
ds = [{1: 1, 2: 0, 3: 0}, {1: 2, 2: 1, 3: 0}, {1: 3, 2: 2, 3: 1, 4: 5}]
Końcowe wyniki powinny być pojedynczym słownika:
merged = {1: 6, 2: 3, 3: 1, 4: 5}
Jestem zainteresowany wydajności i szukam najszybszej realizacji, które można scalić listę N-słowników w jednym słownik i podsumuj wartości. Oczywistą implementacją jest:
from collections import defaultdict
merged = defaultdict(int)
for d in ds:
for k, v in d.items():
merged[k] += v
Czy jest to szybszy sposób w Pythonie 2.6?
NVM to nie jest duplikatem ponieważ pozwala to jedynie 2,6 – jamylak
lub http://stackoverflow.com/questions/3490738/how-to-sum-dict-elements – ShinTakezou
@ user1728853 Jak duży będzie średni słownik? – jamylak