Discuss / Python / map的返回结果不是Iterator

map的返回结果不是Iterator

Topic source
在此插入代码

a = map(str, range(11)) isinstance(a, Iterator) False

a不是Iterator类型的啊

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

Iterable

额 应该是教程的笔误, filter那边也是的 返回值类型应该是Iterable

>>> from collections import Iterator
>>> isinstance(map(f,range(10)),Iterable)
True
>>> isinstance(map(f,range(10)),Iterator)
True
>>> map(f,range(10))
<map object at 0x03234BD0>
>>> m = map(f,range(10))
>>> next(m)
0

明明就是Iterator类型啊,可以使用next


  • 1

Reply