我看到在Python中有很多次重复使用以下的习语:
X = filter(lambda x: x is not None, X))
我希望在Python中有一个内置函数可以处理is not None
(或者类似于Java的apache-commons的标准库)。
在我的代码中,我已经将其组织为
def isNotNone(X: Any) -> bool:
return True if X is not None else False
X = filter(isNotNone, X)
filter(None,X)
做的几乎一样。它过滤掉None
,但也会过滤掉 0 和空字符串,以及“falsy”对象... - Jean-François Fabrereturn True if X is not None else False
翻译为return X is not None
(更符合Python风格!) - Jean-François FabreX = (elt for elt in X if elt is not None)
,这样更好 :) - TwistedSim