gpt4 book ai didi

python - 在python中组合函数

转载 作者:IT老高 更新时间:2023-10-28 20:35:32 36 4
gpt4 key购买 nike

我有一个函数数组,我正在尝试生成一个函数,该函数由数组中元素的组合组成。我的做法是:

def compose(list):
if len(list) == 1:
return lambda x:list[0](x)
list.reverse()
final=lambda x:x
for f in list:
final=lambda x:f(final(x))
return final

此方法似乎不起作用,将不胜感激。

(我正在颠倒列表,因为这是我希望函数的组合顺序)

最佳答案

最简单的方法是首先编写两个函数的组合:

def compose2(f, g):
return lambda *a, **kw: f(g(*a, **kw))

然后用reduce组合出更多的函数:

import functools

def compose(*fs):
return functools.reduce(compose2, fs)

或者您可以使用 some library ,其中已包含 compose功能。

关于python - 在python中组合函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16739290/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com