Consider this approach instead of defaultdict. You can determine when default should be used on a per-case basis.
>>> mydict = {"mykey": "myval"}
>>> mydict["mykey"]
'myval'
>>> mydict.get("non-existent-key", None) # Defaults to None if not found
>>> mydict # Dict is unchanged
{'mykey': 'myval'}