Advanced Dictionary

Thomas Lehmann t.lehmann at rtsgroup.net
Wed Jun 16 06:43:53 EDT 2010


Hi,

I have seen a recipe which allows auto creation of missing values for
dictionaries.
However this recipe is not working for all.

class AutoValueDict(dict):
    def __makeitem__(self, key):
        return self.setdefault(key, {})

    def __getitem__(self, key):
        return self.get(key, self.__makeitem__(key))

I would like to have a dictionary which ensures dictionaries as values
except when I'm assigning another:

dict["abc"]["xyz"]["123"]["456"] = 123

How can I do this without many "if" and "else"?

best regards
Thomas



More information about the Python-list mailing list