On Fri, 2007-07-06 at 15:43 +0000, Robert Dailey wrote: > Hi, > > I am interested in creating an expandable (dynamic) 2D dictionary. For > example: > > myvar["cat"]["paw"] = "Some String" > > The above example assumes "myvar" is declared. In order for this to > work, I have to know ahead of time the contents of the dictionary. For > the above to work, my declaration must look like: > > myvar = {"cat": {"paw":""} } > > I would like to not have to declare my dictionary like this, as it > does not allow it to be expandable. I'm very new to Python (I'm a > professional C++ programmer. Any comparisons to C++ would help me > understand concepts). > > Is there a way that when I index into my dictionary using an "unknown" > index (string), that python will dynamically add that key/value pair?
Sounds like a job for Python2.5's defaultdict: from collections import defaultdict class magicdict(defaultdict): def __init__(self): self.default_factory = magicdict myvar = magicdict() myvar["cat"]["paw"] = "Some String" -- Carsten Haese http://informixdb.sourceforge.net -- http://mail.python.org/mailman/listinfo/python-list