在python中是否有内置的lambda

2024-09-30 18:29:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我看到下面的习惯用法在python中重复了好几次X = filter(lambda x: x is not None, X))

我希望python中有一个is not None(在它的标准库或类似于apachecommons for java的东西中)的内置函数。你知道吗

在我的代码中,我将它组织为

def isNotNone(X: Any) -> bool:
    return True if X is not None else False

X = filter(isNotNone, X)

Tags: lambda函数代码nonefor标准isdef
1条回答
网友
1楼 · 发布于 2024-09-30 18:29:12

您可以使用None.__ne__,即None的不相等检查:

>>> lst = [0, [], None, ""]

>>> list(filter(None.__ne__, lst))
[0, [], '']

从技术上讲,这并不是测试x is not None,而是测试x != None,在某些情况下,这可能会产生不同的结果,例如,对于比较等于None的类,但对于大多数实际情况,它可能会起作用。你知道吗

相关问题 更多 >