gpt4 book ai didi

python - python中单行lambda函数中的条件语句?

转载 作者:IT老高 更新时间:2023-10-28 20:23:43 24 4
gpt4 key购买 nike

抱歉,如果以前有人问过这个问题,但我在任何地方都看不到。

基本上我遇到了一个场景,我需要在 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 函数存储在一个数组中,并在需要时访问,每个数组元素对应一个特定的“速率”,因此对于相同的“速率”有两个单独的行会搞砸。任何帮助将不胜感激,或者如果不可能,其他人的一些确认会很好:)

最佳答案

使用 exp1 if cond else exp2 语法。

rate = lambda T: 200*exp(-T) if T>200 else 400*exp(-T)

请注意,您不要在 lambda 表达式中使用 return

关于python - python中单行lambda函数中的条件语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15772617/

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