小编Leo*_*eon的帖子

在Python中定义函数的乘法?

我试图在Python中定义函数乘法,在伪代码中这是:

这应该在x中返回一个函数,给定f(x),g(x)

multiply_two_functions((f(x), g(x)) = f(x) * g(x)
Run Code Online (Sandbox Code Playgroud)

我可以在Haskell中这样做:

mult :: (Num b) => (a -> b) -> (a -> b) -> (a -> b)  
mult f g = h
    where h x = (f x) * (g x)
Run Code Online (Sandbox Code Playgroud)

你可能会问我为什么要这样做 - 我有一个函数列表[f],我想用乘法来减少它们.再次,在Haskell:

reduce_mult list = foldl mult 1 list
Run Code Online (Sandbox Code Playgroud)

编辑:我如何在python中使用它,为了完整性:

def prod_reduce(f_list):
    def identity(x):
        return 1
    def f_mult(f, g):
        def multiplied(x):
            return f(x) * g(x)
        return multiplied
    prod = identity
    for f in f_list:
        prod = f_mult(prod, f)
    return prod …
Run Code Online (Sandbox Code Playgroud)

python haskell functional-programming

3
推荐指数
3
解决办法
157
查看次数

标签 统计

functional-programming ×1

haskell ×1

python ×1