【发布时间】:2019-01-08 09:45:30
【问题描述】:
我有一组函数f(x), g(x), s(x), t(x)。
它们被设计成像这样链接在一起:f(g(s(t(x))))
这些函数被设计成可以以任何顺序链接。我的代码的另一部分在列表中构建序列:[f, g, s, t]
有没有一种优雅的方式来获取列表并链接函数调用,得到最后一个结果的输出?
现在显然我可以使用一个外部类似计数器的变量来跟踪输出和一个简单的 for 循环增量索引,但我想知道是否有更 Pythonic 的方法来做到这一点?
【问题讨论】:
-
我的answer(或其他人之一)对问题Assign multiple functions to a single variable? 可能有帮助。
-
答案取决于你对“优雅”的定义,而 FWIW,最 Pythonic 的解决方案是使用显式的 for 循环(这是简单、不费脑筋、明显、可读且易于调试和维护解决方案)这可能不是您认为最“优雅”的。
标签: python function functional-programming function-composition