Na czym to polega w sklepie
defaultdict tworzy słownik z domyślną wartością dla nowych kluczy (np. pusta lista). Przy grupowaniu danych e-commerce eliminuje powtarzające się if key not in groups.
Przykład ze sklepu internetowego
Łączysz przychód z wielu zamówień według źródła kampanii UTM (utm_source):
from collections import defaultdict
orders = [
{"utm_source": "google", "revenue": 420.50},
{"utm_source": "meta", "revenue": 180.00},
{"utm_source": "google", "revenue": 95.30},
{"utm_source": "newsletter", "revenue": 310.00},
]
revenue_by_source = defaultdict(float)
for row in orders:
revenue_by_source[row["utm_source"]] += row["revenue"]
dict(revenue_by_source)
# {'google': 515.8, 'meta': 180.0, 'newsletter': 310.0}
Co zrobić po stronie biznesu
- Grupowanie sesji GA4 po
session_campaign. - Budowa mapy SKU → lista kanałów, z których przyszły konwersje.
- Agregacja kosztów reklam z wielu kont Google Ads w jednym słowniku.
W skrócie
Dlaczego warto to znać? Przy raportach marketingowych większość czasu idzie na grupowanie, nie na obliczenia. defaultdict skraca ten etap i czytelniej wyraża intencję kodu.