gpt4 book ai didi

python - 将函数集成到第一个变量以外的变量上,寻找 lambda 的替代方法

转载 作者:太空宇宙 更新时间:2023-11-04 06:17:05 25 4
gpt4 key购买 nike

除了使用 lambda 函数将 python 2.7 中的函数集成到两个变量中的第二个之外,还有其他方法吗?例如,我想在 x 上集成这个示例函数:

import numpy as np
from scipy.integrate import quad

def sqrfn(a,x):
return a*np.square(x)

这很容易实现:

quad(lambda x: sqrfn(2,x),0,10)

我想知道是否有另一种方法可以做到这一点,例如使用类似于我认为更直观的方法:

quad(sqrfn,0,10,args(a=2))

有人有替代解决方案吗? (是的,我可以将函数定义为 sqrfn(x,a) 并使用 quad(sqrfn,0,10,args(2,)) 代替,但事实并非如此点)。

最佳答案

你可以使用 functools.partial()为此:

In [10]: f = functools.partial(sqrfn, 2)

这使得 f(x) 等同于 sqrfn(2, x):

In [11]: map(f, range(5))
Out[11]: [0, 2, 8, 18, 32]

您的示例将变为:

quad(functools.partial(sqrfn, 2), 0, 10)

关于python - 将函数集成到第一个变量以外的变量上,寻找 lambda 的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14891607/

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