迭代是訪問集合元素的一種方式。迭代器是一個可以記住遍歷的位置的對象。迭代器對象從集合的第一個元素開始訪問,知道所有元素被訪問完結束。迭代器只能往前不能往後。
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)