首页 > 解决方案 > * 不支持的操作数类型:'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 以及如何解决这个问题吗?

标签: python

解决方案


可能您正在寻找的是:

f = lambda x: f1(x) * f2(x) 

推荐阅读