python3过滤器对象与lambda fuctoin

时间:2014-11-29 08:36:53

标签: python string python-3.x lambda

garbled = "IXXX aXXmX aXXXnXoXXXXXtXhXeXXXXrX sXXXXeXcXXXrXeXt mXXeXsXXXsXaXXXXXXgXeX!XX"
m = list(filter(lambda x: x!='X', garbled))
print("".join(m))

我是另一个秘密信息!

但是

type(m)
<class 'list'>

我想在字符串中回答所以我跟着,

garbled = "IXXX aXXmX aXXXnXoXXXXXtXhXeXXXXrX sXXXXeXcXXXrXeXt mXXeXsXXXsXaXXXXXXgXeX!XX"
m = str(filter(lambda x: x!='X', garbled))
m
'<filter object at 0x7f1d0afed710>'

我是python中的新手,需要帮助。我正在使用python 3.4.2

1 个答案:

答案 0 :(得分:0)

str.join''.join(...))的返回值分配给m

>>> garbled = "IXXX aXXmX aXXXnXoXXXXXtXhXeXXXXrX sXXXXeXcXXXrXeXt mXXeXsXXXsXaXXXXXXgXeX!XX"
>>> m = ''.join(filter(lambda x: x != 'X', garbled))
>>> m
'I am another secret message!'
>>> type(m)
<type 'str'>