概述
# 生成器都是迭代器,迭代器不一定是生成器
# 字符串、列表、元组、字典、集合都可以被for循环,说明他们都是可迭代的
L = [1, 2, 3, 4, 5]
# L.__iter__() 尽量不用 底层内置函数
d = iter(L)
print(d) # <list_iterator object at 0x000000000069A358>
# 什么是迭代器
# 满足两个条件 1 有iter方法 2 有next方法
print(next(d)) # 1
# for 循环内部做的三件事情
# 1 调用可迭代对象的iter方法返回一个迭代器对象
# 2 不断调用迭代器对象的next方法
# 3 处理stopIteration
from collections import Iterable
print(isinstance([1, 2, 3], list)) # 判断数据类型
L = [1, 2, 3, 4, 5]
d = iter(L)
print(d)
print(isinstance(L, list)) # 判断是不是 列表
print(isinstance(d, Iterable)) # 判断是不是迭代器 注意引用包
要点:
- 生成器都是迭代器,迭代器不一定是生成器
- 字符创,列表,元组,字典,集合都可以被for循环,说明他们都是可迭代对象
- 若可以调用__iter__() 都是可迭代对象。但是一般使用iter() 函数
- 满足迭代器的两个条件:1.有iter() 。2. 有next()
- isinstance() 类型判断。isinstance(a,Iterable) 判断a 是否是可迭代对象。
最后
以上就是忧心舞蹈为你收集整理的Python3迭代器及其使用的全部内容,希望文章能够帮你解决Python3迭代器及其使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复