0. 概念
-
迭代
1. 访问集合元素的一种方式 2. 按照某种顺序逐个访问集合中的每一项
-
可迭代对象
1. 能够被迭代的对象 2. 判定依据:能作用于 for in 3. 判定方法:import collections isinstance(obj, collections.Iterable)
-
迭代器
1. 从第一个元素开始,往后通过 next() 函数,进行遍历 2. 只能往后,不能往前 3. 可以记录遍历位置 4. 判定依据:能作用于 next() 函数 5. 判定方法:import collections isinstance(obj, collection.Iterator)
-
注意:迭代器也是
迭代器.png可迭代对象
,所以也可以作用于for in
1. 简单使用
- next() 函数
# 使用 next() 函数,从迭代器中取出下一个对象,从第 1 个元素开始 l = [1, 3, 5, 7, 9] it = iter(l) print(next(it)) print(next(it)) print(next(it))
- for in
l = [1, 3, 5, 7, 9] it = iter(l) for v in it: print(v)
- 注意
1. 如果取出完毕,再继续取,则会报错 2. 迭代器一般不能多次迭代
2. 特性
- 节省内存
1. 仅仅在迭代到某个元素时才处理该元素 2. 在此之前,元素可以不存在 3. 在此之后,元素可以被销毁 4. 特别适合用于遍历一些巨大的或是无限的集合
- 统一接口
1. 可以把所有的可迭代对象,转换成迭代器进行使用 2. iter(Iterable)
网友评论