I also find the combination of lambda and defaultdict quite useful:
d = defaultdict(lambda: False)
or d = defaultdict(lambda: {'foo':set(), 'bar':False})
d['baz']['foo'].add(1)