Python lambda调用函数,无输出

时间:2017-07-11 12:43:01

标签: python lambda

我想实现像使用lambda来调用输出为None或list的函数,如果是列表,则获取第一个值。

lambda x: func(x,args)[0] if func(x,args) is not None else None

但是,在这个函数中,它似乎需要调用该函数两次以确定它是否为None。当然,我可以使用try或条件语句编写代码:

def function(x):
    try: 
        return func(x,args)[0]
    except (IndexError,TypeError):
        return None

或只更改func的输出。但我仍然很好奇是否有一些方法只用lambda调用该函数一次。

1 个答案:

答案 0 :(得分:14)

这样做:

lambda x: (func(x, args) or [None])[0]