【发布时间】:2017-10-30 11:53:26
【问题描述】:
我有以下字符串,我想通过过滤 X 来解码
garbled = "IXXX aXXmX aXXXnXoXXXXXtXhXeXXXXrX sXXXXeXcXXXrXeXt mXXeXsXXXsXaXXXXXXgXeX!XX"
我想过滤。我尝试了以下代码
message = filter(lambda x: garbled.remove(x) if x == "X", garbled)
我没有让这种方式工作。我找到了另一个解决方案:
message = filter(lambda x: x != "X", garbled)
但我仍然想知道为什么第一个没有工作。我可以解决它吗?
(顺便说一句,我是 python 新手)谢谢!
【问题讨论】:
-
所以你只想删除所有
'X's? -
字符串没有任何
remove方法,因为字符串是不可变的。您的第一次尝试没有成功,因为它试图调用一个不存在的方法。 -
为什么不只是
decoded = garbled.replace('X', '')? -
如果你想保留
"X"会怎样? -
由于您是 Python 新手,您现在确实应该使用 Python 3...所有证据都表明您正在使用 Python 2...