我有以下字符串,我想通过过滤 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 新手)谢谢!
您可以使用生成器表达式代替filter
>>> ''.join(i for i in garbled if i != 'X')
'I am another secret message!'
如果你想使用filter
你必须改变你的lambda
to
>>> ''.join(filter(lambda x: x != 'X', garbled))
'I am another secret message!'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)