码迷,mamicode.com
首页 > 其他好文 > 详细

迭代器

时间:2018-06-12 16:27:48      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:alt   nbsp   重复   count   stop   span   而不是   bar   gif   

一 迭代的概念

技术分享图片
#迭代器即迭代的工具,那什么是迭代呢?
#迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值 while True: #只是单纯地重复,因而不是迭代 print(‘===>‘) l=[1,2,3] count=0 while count < len(l): #迭代 print(l[count]) count+=1
技术分享图片

二 为何要有迭代器?什么是可迭代对象?什么是迭代器对象?

技术分享图片 View Code

三 迭代器对象的使用

技术分享图片 View Code

四 for循环

技术分享图片
#基于for循环,我们可以完全不再依赖索引去取值了
dic={‘a‘:1,‘b‘:2,‘c‘:3}
for k in dic:
    print(dic[k])

#for循环的工作原理
#1:执行in后对象的dic.__iter__()方法,得到一个迭代器对象iter_dic
#2: 执行next(iter_dic),将得到的值赋值给k,然后执行循环体代码
#3: 重复过程2,直到捕捉到异常StopIteration,结束循环
技术分享图片

五 迭代器的优缺点

#优点:
  - 提供一种统一的、不依赖于索引的迭代方式
  - 惰性计算,节省内存
#缺点:
  - 无法获取长度(只有在next完毕才知道到底有几个值)
  - 一次性的,只能往后走,不能往前退

迭代器

标签:alt   nbsp   重复   count   stop   span   而不是   bar   gif   

原文地址:https://www.cnblogs.com/lijiangyang/p/9173050.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!