有没有一种方法可以使用if条件让lambda调用定义?

时间:2019-06-04 13:41:20

标签: python

我正在做一个优化问题,我正在尝试使用lambda和def定义约束。

基本上我想做的是:

lambda x: add_2 if no_added == 2

add_2是我要调用的定义:

def add_2(x):
    lc2 = x[36]-0.02
    return lc2

正确的语法是什么?

1 个答案:

答案 0 :(得分:1)

只需调用该功能并设置默认的else块:

lambda x: add_2(x) if no_added == 2 else None

如果None对您不起作用,请返回其他值。 无论如何,您可以在此功能中内部

def add_2(x, no_added):
    if no_added == 2:
        return x[36]-0.02
    return None