迭代器
-
定义:能够使用for-in进行遍历,并且能够使用next依次获取其中一个元素。
-
说明:
- 生成器就是一种特殊的迭代器
- 判断一个对象是不是迭代器
from collections import Iterator # lt = [i for i in range(10)] lt = (i for i in range(10)) print(isinstance(lt, Iterator))
- 字符串、列表、元组、字典等都不是迭代器,它们都是可迭代对象。
可迭代对象
-
定义:可以使用for-in进行遍历的对象,都是可迭代对象。
-
说明:
- 前面学过的容器类型都是可迭代对象。
- 迭代器一定是可迭代对象
-
判断:一个对象是否可迭代
from collections import Iterable lt = [1, 2, 3] print(isinstance(lt, Iterable))
-
iter:将可迭代对象转换为迭代器
from collections import Iterable, Iterator lt = [1, 2, 3] # 将一个可迭代对象转换为迭代器 lt = iter(lt) print(isinstance(lt, Iterable)) print(isinstance(lt, Iterator))