class DictHead(dict): def __getitem__(self, key): if not self.has_key(key): self[key] = DictHead() return self[key] else: return dict.__getitem__(self, key)