python - * 不支持的操作数类型:'function' 和 'function' with lambda function
问题描述
我知道我可以将两个 lambda 函数相乘并得到一个 lambda 函数,如下所示:
f1 = lambda x: x+2
f2 = lambda x: x+3
f = lambda x: f1*f2
# f = (x+2)*(x+3) = x**2 + 5*x + 6
我收到以下行的 TypeError:
integ = lambda x:(low_vib_wfxn)*(up_vib_wfxn)
(low_vib_wfxn) 和 (up_vib_wfxn) 都是 lambda 函数:
low_vib_wfxn = lambda x:(low_norm_const) * (H_list[0]) * (math.exp((-low_aplpha)*(x^2)*(1/2)))
A = lambda x: (norm_up_vib_wfxn_list[k]) * (H_list[k])
up_vib_wfxn = lambda x: A * (math.exp((-up_aplpha)*(x**2)*(1/2)))
H_list 是参数为 x 的多项式列表。
有人可以解释为什么我得到 TypeError 以及如何解决这个问题吗?
解决方案
可能您正在寻找的是:
f = lambda x: f1(x) * f2(x)
推荐阅读
- google-compute-engine - 谷歌计算引擎网络服务器:限制对几个谷歌帐户的访问
- python - 如何在 Python 中向 DF 添加/估算附加行
- c++ - C ++结构问题传递变量
- node.js - 当有多个用户(包括示例)时,Node.js 如何执行代码?
- mysql - Node / Mysql 日期问题
- python - 带有 conda env 的 uWSGI 不断失败(Docker)
- python - 切片字符串
- python - Python:用于 NumPy 数组的 struct.pack 和 struct.unpack
- android - Android Studio 到 React Native
- php - 如何从发送给 WooCommerce 客户的电子邮件中删除发货国家/地区?