迭代器
什么是迭代器
迭代是Python最强大的功能之一,是访问集合元素的一种方式。
迭代器是一个可以记住遍历的位置的对象。
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
迭代器有两个基本的方法:iter() 和 next()。
如何生成一个迭代器
内置函数iter。
用法:
iter(iterable)
参数:
iterable:可迭代的数据类型。
迭代器的使用——next
功能:
返回迭代器中的数据
用法:
next(iterator)
>>> list=[1,2,3,4]
>>> it = iter(list) # 创建迭代器对象
>>> print (next(it)) # 输出迭代器的下一个元素
1
>>> print (next(it))
2
>>>
for循环生成迭代器
- for循环生成发——yield
In [1]: def test():
...: for i in range(10):
...: yield i
...:
In [2]: res= test()
In [3]: next(res)
Out[3]: 0
In [4]: next(res)
Out[4]: 1
In [5]: next(res)
Out[5]: 2
或者:
In [7]: res=(i for i in [1,2,3])
In [8]: next(res)
Out[8]: 1
In [9]: next(res)
Out[9]: 2
In [10]: next(res)
Out[10]: 3
In [11]: next(res)#超多三次报错。
---------------------------------------------------------------------------
StopIteration Traceback (most recent call last)
<ipython-input-11-99bd7a0c47e0> in <module>
----> 1 next(res)