我正在使用 python-3.2.3 64bit 并且我看到一些奇怪的行为。
例如使用解释器时:输入
>>> range(10)
结果输出
range(0, 10)
什么时候应该打印
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
类似输入
>>> l = range(10)
>>> f = filter( lambda x: x<2, l)
>>> f
导致输出
<filter object at 0x00000000033481D0>
但应该是
[0, 1]
显然我不能对那个对象做任何事情:
>>>> len(f)
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
len(f)
TypeError: object of type 'filter' has no len()
这里有什么问题?