城市直播房产教育博客汽车
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

Python基础之迭代器

4月12日 九阙忬投稿
  一。什么是迭代器
  迭代器是用来迭代取值的工具。
  而涉及到把多个值循环取出来的类型有:列表,字符串,元组,字段,集合,打开文件等。通过使用的遍历方式有forin,while等,但是,这些方式只适用于有索引的数据类型。为了解决索引取的局限性,python提供了一种不依赖于索引的取值方式:迭代器
  注意:迭代是通过重复执行的代码处理相似的数据集的过程并且本次迭代的处理数据要依赖上一次的结果继续往下做上一次产生的结果为下一次产生的结果的初始状态如果中途有任何停顿,都不能算是迭代。
  二。可迭代对象
  可迭代对象:但凡内置有iter方法的都称为可迭代对象
  常见的可迭代对象:
  1。集合数据类型,如list,tuple,dict,set,str等
  2。生成器,包括生成器和带yield的生成器函数。
  三。如何创建迭代器iter()该方法返回一个迭代器,此处可以返回自己next()该方法返回下一个迭代器对象classMyNums:defiter(self):self。num1returnselfdefnext(self):self。num1returnself。nummynumsMyNums()myiteriter(mynums)通过可迭代对象mynums来生成迭代器print(next(myiter))print(next(myiter))print(next(myiter))print(next(myiter))
  迭代器是一个包含数个值的对象。
  迭代器是可以迭代的对象,这意味着您可以遍历所有值。
  从技术上讲,在Python中,迭代器是实现迭代器协议的对象,该协议由方法iter()和next()组成。
  简而言之,一个类里面实现了iter()和next()这两个魔法方法,那么这个类的对象就是可迭代对象。
  四。迭代器的优缺点
  1。优点节约内存不依赖索引取值实现惰性计算
  2。缺点无法获取长度(只有在next完毕才知道到底有几个值)一次性的,只能往后走,不能往前退
  五。迭代器示例classStu:definit(self):self。students〔〕defiter(self):returnselfdefadd(self):nameinput(请输入姓名:)telinput(请输入电话:)addrinput(请输入地址:)newstudict()newstu〔name〕namenewstu〔tel〕telnewstu〔addr〕addrself。students。append(newstu)defnext(self):returnself。studentssStu()创建可迭代的对象s。add()s。add()s。add()ssiter(s)由可迭代对象生成迭代器print(next(ss))
  另外,如果类Stu继承了Iterator,那么Stu可以不用实现iter()方法fromcollections。abcimportIterable,IteratorclassStu(Iterator):definit(self):self。students〔〕defiter(self):returnselfdefadd(self):nameinput(请输入姓名:)telinput(请输入电话:)addrinput(请输入地址:)newstudict()newstu〔name〕namenewstu〔tel〕telnewstu〔addr〕addrself。students。append(newstu)defnext(self):returnself。students创建对象sStu()Iterable可以判断一个对象是否是可迭代的对象print(isinstance(s,Iterable))s。add()s。add()s。add()ssiter(s)print(next(ss))
  遍历迭代器
  StopIteration
  如果你有足够的next()语句,或者在for循环中使用,则上面的例子将永远进行下去。
  为了防止迭代永远进行,我们可以使用StopIteration语句。
  在next()方法中,如果迭代完成指定的次数,我们可以添加一个终止条件来引发错误classMyNums:definit(self):self。num1defiter(self):returnselfdefnext(self):ifself。num10:self。num1returnself。numelse:raiseStopIteration防止无穷迭代mynumMyNums()myiteriter(mynum)foriinmyiter:print(i)
搜索 投诉 评论 转载

美媒关注中国自动驾驶企业首获出租车牌照据美国消费者新闻与商业频道网站4月24日报道,中国自动驾驶初创企业小马智行24日宣布获得出租车经营许可,这在中国尚属首次。据报道,小马智行称,该公司获准在广州南沙投入10……公认好用的骁龙870手机,最低1499,这4款性价比高最近很多人都在问,2022年了骁龙870手机还值得入手吗?答案肯定是不唯一的。骁龙870是在2021年初推出的旗舰芯片,当时也是仅次于骁龙888,安兔兔跑分甚至可以达到74万左……2019年新MacBookPro你想看到哪些亮点?根据上个月分析师预测,苹果会在今年发布一款全新的MacBookPro,这款产品屏幕尺寸将介于16寸至16。5寸之间,且会有全新的设计,采用更高的配置,主打专业用户。目前相关细节……买iPhone不懂性价比?错了!苹果两大优势,安卓手机根本比有些人说,iPhone13没有性价比,同样的钱,可以买一个性能更好的安卓手机。然而,很多消费者并不这样认为,对于大多数消费者来说,购买iPhone,反而是最具性价比的选择。……能开发出比iOS流畅1001000倍,甚至30Nm芯片就可以理论上是有可能的,只要系统足够简单。第一代Willamette内核的奔腾4采用了180nm的工艺,但是跑起DOS来是不是超级流畅?所以系统是否流畅除了工艺以外,关键是在于……给你的老旧电脑加个WIN11系统网上关于不符合WIN11系统要求安装WIN11系统的办法有很多,包括不限于改注册表,PE安装,替换安装文件等。今天我们另辟蹊径,为防止各位WIN11系统使用不顺手,今天就……性能SUV笨拙?X4M雷霆版百公里3。8秒,内饰M套件加持很宝马M系列的车一直都是许多性能车爱好者的梦想车型,不仅是轿车,在SUV上宝马也是对其进行了M套件的加持,最经典的就是X3M和X4M,作为一台能漂移的SUV,这两台车无论是在日常……联想到底为中国贡献大还是为美国贡献大?自司马南质疑联想以来,一些挺联想的指责司马南要搞垮联想,联想一旦倒掉,中国损失就大了,美国就高兴了。我们来分析一下,看看联想到底给中国贡献大还是给美国贡献大?联想的……华安科创信息ETF将于5月9日至13日发行徐金忠中国证券报中证网中证网讯(记者徐金忠)4月21日,记者获悉,首批跟踪科创信息指数基金华安科创信息ETF(588263)将于5月9日至5月13日发行。资料显示,……千元5G手机又多了个靠谱选择,Redmi发布仅999元起的N5G手机如今大家听着都不会感到陌生了,在电信运营商和手机厂商的推动下,更是有人人都用上了5G的错觉,其实在千元价位(指1000元以下),主要的还是4G手机,现在Redmi则希望……抠厂理想,终于赚钱了?深途(shentucar)原创作者黎明编辑魏佳造车新势力中最会省钱的理想,终于把利润抠出来了。2月25日,理想发布未经审计的2021年四季度及全年财报。……Python基础之迭代器一。什么是迭代器迭代器是用来迭代取值的工具。而涉及到把多个值循环取出来的类型有:列表,字符串,元组,字段,集合,打开文件等。通过使用的遍历方式有forin,whil……
iPhone12mini升级iOS15。4beta5续航持久静音冰箱什么牌子好?残幅相机拍客片怎么样?监控系统选型必知必会!ZabbixPrometheus等(内回顾诺基亚N95当年高贵的机皇智慧园区运营服务平台你的下一台手机未必是iPhone摄影初学者追求大虚化好还是不好?为什么?台式机配置应该怎么选?工信部支持新能源汽车下乡充电设施建设将纳入城乡整体规划价格微涨,格力美的万人空巷抢空调能否引爆价格大战?特斯拉技术负责人动力电池寿命15年!
刷牙新鲜鸭肠如何处理成脆鸭肠热博聚热点网 网络电影4月5部票房破千万,年度票房冠军诞生非主流伤感爱情句子而是看着他牵着别人的手抛弃你小型角龙类:戈壁角龙未成年头骨化石仅3。5厘米猫吃辣椒的故事好文:碧玺的功效与作用禁忌是什么(碧玺的功效与作用禁忌)热博 新生儿打嗝的原因和预防方法到底有多卷?新造车2023五一出行报告盘点热传聚热点网 转型期中国工会传承发展的逻辑思考与路径。如何成为一个好家长宋祖儿刘宇宁折腰官宣,魏劭娶乔家女儿,魏乔两家化宿怨,结姻缘

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找江西南阳嘉兴昆明铜陵滨州广东西昌常德梅州兰州阳江运城金华广西萍乡大理重庆诸暨泉州安庆南充武汉辽宁