class TreeNode(): def __init__(self, key, value): self.childs = [] self.key = key self.value = value def addChildNode(self, node): self.childs.append(node) def hasChilds(self): return (len(self.childs) > 0) def find(self, key): if key == self.key: return self for child in self.childs: r = child.find(key) if r != None: return r return None