抱歉,如果以前有人问过这个问题,但我在任何地方都看不到。
基本上我遇到了一个场景,我需要在 lambda 函数中使用 if 语句。最困难的是理想情况下它需要在一行代码中(如果可能的话?)
通常,我会这样写:
T = 250
if (T > 200):
rate = 200*exp(-T)
else:
rate = 400*exp(-T)
return (rate)
但是我需要它看起来像这样:
rate = lambda(T) : if (T>200): return(200*exp(-T)); else: return(400*exp(-T))
我意识到更容易做的事情是在 lambda 函数之外做出决策,然后为每种情况使用一个单独的 lambda 函数,但在这里并不适合。lambda 函数存储在一个数组中,并在需要时访问,每个数组元素对应一个特定的“速率”,因此对于相同的“速率”有两个单独的行会搞砸。任何帮助将不胜感激,或者如果不可能,其他人的一些确认会很好:)