迭代器、生成器、枚举对象
迭代器:器:包含了多个值的元素。迭代:循环反馈(一次从容器中取出一个值)。迭代器:从装有元素的容器中一次取出一个值给外界
ls=[1,2,3,4,5] #有序元素取值可以用for和while循环
i=0
while i<len(ls):
print(ls[i])
i+=1
那么无序的元素取值呢?
1.可迭代对象:有_iter_()方法的对象
2.迭代器对象:有_next_()方法的对象,可以做到不依赖索引取值,一次从容器中取出一个值给外界,取出一个少一个,按照从前往后的顺序
可迭代对象有list,tuple,set,str,dict,range,file,生成器,enumerate,迭代器本身
迭代器对象有:enumerate,file,生成器
3.for循环迭代器:自带异常处理,自动获取被迭代对象的迭代器对象,在内部一次又一次调用_next_()的方法
迭代器对象._iter_()._iter_()该方法得到的就是取出元素以后的那个迭代器对象,就是自己本身
2.生成器:就是迭代器对象,拥有yield的关键字的函数就是生成器,在yield的位置会停止,也拥有_next_()的方法,可以取出值
3.枚举对象:可以打印出索引的位置,关键字是enumerate,本身是一个可迭代对象,迭代器对象