objectif
Construire facilement des groupes d’éléments par clé.
code minimal
from collections import defaultdict
pairs = [("a", 1), ("b", 2), ("a", 3)]
groups: dict[str, list[int]] = defaultdict(list)
for k, v in pairs:
groups[k].append(v)
print(groups["a"] == [1,3]) # attendu: True
utilisation
from collections import defaultdict
d = defaultdict(int)
for _ in range(3): d["x"] += 1
print(d["x"] == 3)
variante(s) utile(s)
from collections import defaultdict
d = defaultdict(set)
for i in [1,2,2]: d["k"].add(i)
print(d["k"] == {1,2})
notes
- default_factory crée la valeur à la volée au premier accès.
- Évite les if k not in d: d[k] = …