可以被next()
不断调用并返回下一个值的对象,是迭代器。比如,生成器就是一个迭代器。它既可以被for
遍历,还可以被next()
函数调用。
但是list
set
等类型,它们只是一个可以被迭代的对象(Iterable),却不是一个迭代器。
使用函数iter()
可以将它们转变为迭代器。譬如:
>>>a = [a, b, c]
>>>next(a)
Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
next(a)
TypeError: 'list' object is not an iterator
>>>b = iter(a)
>>>next(b)
>>>a
网友评论