需要使用过滤器

我的印象是,下面的代码从一个给定的字符串中的空格:需要使用过滤器

filter(None,"Stack Overflow") 

将返回:

"StackOverflow" 

但是,当我使用Python中没有发生(2.7)。有谁能告诉我为什么是这样吗?

回答:

的帮助filter状态

返回序列哪个函数(项目)的项目是真实的。如果 函数为None,则返回true的项目。

空格的布尔值是True因此它不会被删除。

回答:

你似乎想筛选出的空间,但空间并不False(其中None搜索),因此明确地检查一个空间:

filter(lambda x: x!=' ',"Stack Overflow") 

此外,如果你只处理用绳子,不要忘记replace

"Stack Overflow".replace(' ', '') 

回答:

您需要定义一个函数,用于替换'“:

filter(lambda x: x != ' ', 'Stack Overflow') 

请参阅filter的文档。

当没有指定函数时,它只是比较元素是否为“真”,以及其他任何字符。为了更好地理解此示例,其中None是falsy值,因此被从列表中移除:有关python 3,`filter`返回一个生成对象

filter(None, ['S', 't', 'a', 'c', 'k', None, 'O', 'v', 'e', 'r', 'f', 'l', 'o', 'w']) 

以上是 需要使用过滤器 的全部内容, 来源链接: utcz.com/qa/261838.html

回到顶部