Python·迭代器
可迭代对象
迭代 ·是访问集合元素的一种方式。迭代器是一个可以记住遍历位置的对象
特点:
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。
迭代器只能往前不能后退。
可以被 next()
函数调用并不断返回下一个值的对象成为迭代器:Iterator
迭代器与生成器和列表的关系
1.生成器:
迭代器与生成器:
生成器是可迭代的,也就是迭代器
生成器是节省内存,生成器是迭代器的一种,迭代器是一个大的范围
2.元组 列表 集合 字典 字符串
列表元组字典…借助iter()函数可以变成迭代器 iter(list)
列表(list
)是可迭代的 但不是迭代器
如何判断一个对象是否可迭代
—isinstancce(value,Iterable) Ture 为可迭代 False 不可迭代
列表
list1 = [1,4,9,7,8]
f=isinstance(list1,Iterable)
print(‘判断是否可迭代:’,f)
字符串
list2 = (‘asd’,‘字符串’,‘adsa’)
f=isinstance(list2,Iterable)
print(‘判断是否可迭代:’,f)
字典
dir={1:‘刘备’,2:‘赵云’,3:‘关于’}
ite =isinstance(dir,Iterable)
print(‘判断是否可迭代:’,ite)
print(isinstance(100,Iterable))
print(isinstance(‘100’,Iterable))
print(isinstance([100],Iterable))
print(isinstance((100),Iterable))
生成器
生成器的定义有两种:
1.用列表推导式的方式定义 生成器 但是需要将推导式的[] 换成()
2.在函数中加 yield 关键字 yield
表示程序运行到这时返回出 yield后面的变量元素并暂停,供下一次的next()方法调用时继续迭代遍历