KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Does anyone know if there's a standard class for an infinitely nestable dictionary in Python? I'm finding myself repeating this pattern: d = defaultdict(lambda: defaultdict(lambda: defaultdict(int))) d['abc']['def']['xyz'] += 1 If I want to add "another layer" (e.g. d['abc']['def']['xyz']['wrt'] ), I have to define another nesting of defaultdicts. To generalize this pattern, I've written a simple class that overrides __getitem__ to automatically create the next nested dictionary. e.g. d = InfiniteDict(('count',0),('total',0)) d['abc']['def']['xyz'].count += 0.24 d['abc']['def']['xyz'].total += 1 d['abc']['def']['xyz']['wrt'].count += 0.143 d['abc']['def']['xyz']['wrt'].total += 1 However, does anyone know of a pre-existing implementation of this idea? I've tried Googling, but I'm not sure what this would be called.
Tags (comma-separated)
Save Edits
Cancel