for循环和Python中的迭代器有什么区别?


回答 1:

for循环是迭代器的一种。更准确地说,它使用输入对象的__iter __()方法实例化迭代器对象。

迭代器是实现迭代器协议的对象,从本质上讲,它们具有可以在可迭代对象(如列表)上调用的__next __()方法,并且在没有更多条目可迭代时会引发StopIteration异常。

生成迭代器的内置函数的其他示例是map(),reduce(),filter()或enumerate()。