python filter()函数,将None作为过滤器参数

时间:2018-12-12 13:21:19

标签: python string python-3.x

Input  : list(filter(None,["abs"," ",123,"sdf",""]))

Output : ['abs', ' ', 123, 'sdf']

据我了解,在python中的意思是“ 没有价值”。但在上述情况下,过滤器功能如何删除空字符串。

我对python中的感到困惑。谁能解释上述命令中 None 的确切含义以及它与非空字符串的匹配方式。

1 个答案:

答案 0 :(得分:4)

documentation使应用程序更清晰:

  

如果函数为None,则假定身份函数,即所有   错误的iterable元素将被删除。

因此,filter(None, it)删除了所有Falsy值,例如[]{}0Falseset()''None