Expandable 2D Dictionaries?
Diez B. Roggisch
deets at nospam.web.de
Fri Jul 6 11:54:56 EDT 2007
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?
Not really, unless you know that the first level of values are _always_
dicts.
What you can do is to use
myvar.setdefault('cat', {})['paw'] = "Some String"
Diez
More information about the Python-list
mailing list