Antoon Pardon wrote: > The problem I face is that at the building face, I need a defaultdict > because the values are lists that are appended too. So a > defaultdict(list) is convenient in that new entries are treated as if > the value is an empty list. > > However later when I actually use it, accessing a key that is not > present, should raise KeyError. > > Is that somehow possible?
It never occured to me to try that, but: >>> from collections import defaultdict >>> d = defaultdict(list) >>> d["x"] [] >>> d.default_factory = None >>> d["y"] Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'y' -- https://mail.python.org/mailman/listinfo/python-list