需要使用过滤器从给定字符串中删除空格
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了需要使用过滤器从给定字符串中删除空格相关的知识,希望对你有一定的参考价值。
我的印象是以下代码:
filter(None,"Stack Overflow")
会回来:
"StackOverflow"
但是当我使用Python(2.7)时没有发生这种情况。谁能告诉我为什么会这样?
答案
您似乎想要过滤掉空间,但是空间不是False
(None
搜索的),因此请明确检查空间:
filter(lambda x: x!=' ',"Stack Overflow")
此外,如果您只处理字符串,请不要忘记replace
:
"Stack Overflow".replace(' ', '')
另一答案
filter
国家的帮助
返回函数(item)为true的序列项。如果function为None,则返回true的项。
空格的布尔值是True
,因此不会被删除。
另一答案
您需要定义一个替换''的函数:
filter(lambda x: x != ' ', 'Stack Overflow')
请参阅filter的文档。
当没有指定函数时,它只是比较元素是否是真实的,这是''以及任何其他字符的情况。为了更好地理解,请参阅此示例,其中None
是一个假值,因此从列表中删除:
filter(None, ['S', 't', 'a', 'c', 'k', None, 'O', 'v', 'e', 'r', 'f', 'l', 'o', 'w'])
以上是关于需要使用过滤器从给定字符串中删除空格的主要内容,如果未能解决你的问题,请参考以下文章