【发布时间】:2014-07-18 06:46:00
【问题描述】:
我为filter() 使用匿名函数尝试了许多不同的示例,但只要我在字符串上使用它,总是会得到奇怪的结果。下面是一个例子:
>>>print(filter(lambda x: x.isdigit(), "aas30dsa20"))
<filter object at 0x00000000035DE470>
如果不是字符串,一切正常。例如;
>>> print(list(filter(lambda x: x >= 30 and x <= 70, [x**2 for x in range(1,11)])))
[36, 49, 64]
顺便说一下,如果我去掉list()函数部分,就会出现类似字符串大小写的问题:
>>> print(filter(lambda x: x >= 30 and x <= 70, [x**2 for x in range(1,11)]))
<filter object at 0x00000000037BFDD8>
我在 Windows 7 上使用 Python 3.4.1。
【问题讨论】:
-
一句话:yes.
标签: python string filter anonymous-function