迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,知道所有元素被访问完结束。迭代器只能往前不能往后。
1.可迭代对象
以直接作用于for循环的数据类型有以下几种:
- 一类是集合数据类型,如list、dict、set、str等
- 一类是generator,包括生成器和带yeild的generator function。
这些可以直接作用于for循环的对象统称为可迭代对象:Iterable。
判断一个对象是否为可迭代对象的方法:
form collections import Iterable
isinstance([] , Iterable)
2迭代器(iterator)
迭代器都是Iterator对象,但List、dict、str虽然是Iterable,却不是Iterator,可以使用iter()函数将他们变成迭代对象
form collections import Iterator
isinstance(iter([], Iterator)