Python 从树创建函数
假设我有一棵树,其中内部节点是对浮点值的操作,叶节点是浮点终端。现在,我想遍历这棵树并得到结果函数。一种方法可能是:Python 从树创建函数,python,tree,Python,Tree,假设我有一棵树,其中内部节点是对浮点值的操作,叶节点是浮点终端。现在,我想遍历这棵树并得到结果函数。一种方法可能是: def Execute(tree): result = 0 symbol = tree.data if (symbol in {'/', '*', '+', '-'}): if (symbol == '/'): result = Execute(tree.left) / Execute(tree.right)
def Execute(tree):
result = 0
symbol = tree.data
if (symbol in {'/', '*', '+', '-'}):
if (symbol == '/'):
result = Execute(tree.left) / Execute(tree.right)
elif (symbol == '*'):
result = Execute(tree.left) * Execute(tree.right)
elif (symbol == '+'):
result = Execute(tree.left) + Execute(tree.right)
elif (symbol == '-'):
result = Execute(tree.left) - Execute(tree.right)
else:
return tree.data
return result
这样做的问题是,每次都需要大量调用Python中的函数。具体来说,有没有办法将此树转换为可以在函数中运行的Python语句列表?可能重复我可以理解您为什么会这样想,但我无法理解提供的问题答案。我希望能有一些clarification@gustavodidomenico不是复制品。我不是要用Python开发一个简化的表达式。我想要的只是一个函数,我可以在构建树时构造它,我可以执行它,而不是在树中运行。我不想构建所有这些类来实现这一点