迭代器

迭代器、生成器、枚举对象

迭代器:器:包含了多个值的元素。迭代:循环反馈(一次从容器中取出一个值)。迭代器:从装有元素的容器中一次取出一个值给外界

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,本身是一个可迭代对象,迭代器对象

原文地址:https://www.cnblogs.com/mcc61/p/10760284.html