需要使用过滤器
我的印象是,下面的代码从一个给定的字符串中的空格:需要使用过滤器
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