一、迭代对象 1、 什么事可迭代对象、通熟来讲 就是可以做for循环的对象(如:list,tupe,dict,集合,列表生成式,字符串, 等等) 2、怎么判断一个对象式不是可迭代对象呢 可以使用
from collections import Iterable
a=[1,2,3]
print(isitstance(a,Iterable))
#输出的结果是Ture
#如果是Ture 则是可迭代对象,如果是Flase 则不是可迭代对象
3、也可以直接使用偏方for循环
二、迭代器 1、什么是迭代器 可以使用next()方法取值的一定是一个迭代器(生成器一定是迭代器,迭代器不一定是生成器) 2、怎么判断一个数据类型是不是迭代器呢
from collections import Iterator
a=[1,2,3,4]
try:
print(next(a))
#next 报错
except Except as e:
print(e)
#判断是否是迭代器
print(isitstance(a,Iterator))
#输出的结果是 Flase
#a这个列表不是一个迭代器
3、将可迭代对象转换成迭代器 用iter
b=iter(a)
print(b)
#返回的是 b 的对象地址
print(isitstance(a,Iterator))
#返回的是 Ture
for i in range(len(a)):
print(next(b))
4、可迭代对象不一定是迭代器,迭代器一定是一个可迭代对象