范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Python基础之迭代器

  一.什么是迭代器
  迭代器是用来迭代取值的工具。
  而涉及到把多个值循环取出来的类型有:列表,字符串,元组,字段,集合,打开文件等。通过使用的遍历方式有for···in···,while等,但是,这些方式只适用于有索引的数据类型。为了解决索引取的局限性,python提供了一种 不依赖于索引的取值方式:迭代器
  注意:迭代是通过重复执行的代码处理相似的数据集的过程 并且本次迭代的处理数据要依赖上一次的结果继续往下做 上一次产生的结果为下一次产生的结果的初始状态 如果中途有任何停顿,都不能算是迭代。
  二.可迭代对象
  可迭代对象:但凡内置有__iter__方法的都称为可迭代对象
  常见的可迭代对象:
  1.集合数据类型,如list,tuple,dict,set,str等
  2.生成器,包括生成器和带yield的生成器函数。
  三.如何创建迭代器 """     __iter__() 该方法返回一个迭代器,此处可以返回自己     __next__() 该方法返回下一个迭代器对象 """ class MyNums:     def __iter__(self):         self.num = 1         return self      def __next__(self):         self.num += 1         return self.num   mynums = MyNums() myiter = iter(mynums)  # 通过可迭代对象mynums来生成迭代器 print(next(myiter)) print(next(myiter)) print(next(myiter)) print(next(myiter))
  迭代器是一个包含数个值的对象。
  迭代器是可以迭代的对象,这意味着您可以遍历所有值。
  从技术上讲,在Python中,迭代器是实现迭代器协议的对象,该协议由方法 __iter__()  和 __next__()  组成。
  简而言之,一个类里面实现了__iter__()和__next__()这两个魔法方法,那么这个类的对象就是可迭代对象。
  四.迭代器的优缺点
  1.优点节约内存不依赖索引取值实现惰性计算
  2.缺点无法获取长度(只有在next完毕才知道到底有几个值) 一次性的,只能往后走,不能往前退
  五.迭代器示例 class Stu:      def __init__(self):         self.students = []      def __iter__(self):         return self      def add(self):         name = input("请输入姓名:")         tel = input("请输入电话:")         addr = input("请输入地址:")         new_stu = dict()         new_stu["name"] = name         new_stu["tel"] = tel         new_stu["addr"] = addr         self.students.append(new_stu)      def __next__(self):         return self.students s = Stu()		#创建可迭代的对象 s.add() s.add() s.add() ss=iter(s)	#由可迭代对象生成迭代器 print(next(ss))
  另外,如果类Stu继承了Iterator,那么Stu可以不用实现__iter__()方法from collections.abc import Iterable, Iterator   class Stu(Iterator):      def __init__(self):         self.students = []      # def __iter__(self):     #     return self      def add(self):         name = input("请输入姓名:")         tel = input("请输入电话:")         addr = input("请输入地址:")         new_stu = dict()         new_stu["name"] = name         new_stu["tel"] = tel         new_stu["addr"] = addr         self.students.append(new_stu)      def __next__(self):         return self.students   # 创建对象 s = Stu() # Iterable可以判断一个对象是否是可迭代的对象 print(isinstance(s, Iterable)) s.add() s.add() s.add() ss = iter(s) print(next(ss))
  遍历迭代器
  StopIteration
  如果你有足够的   next()   语句,或者在 for 循环中使用,则上面的例子将永远进行下去。
  为了防止迭代永远进行,我们可以使用   StopIteration   语句。
  在   __next__()   方法中,如果迭代完成指定的次数,我们可以添加一个终止条件来引发错误 class MyNums:     def __init__(self):         self.num = 1      def __iter__(self):         return self      def __next__(self):         if self.num <= 10:             self.num += 1             return self.num         else:             raise StopIteration	#防止无穷迭代 mynum=MyNums() myiter=iter(mynum) for i in myiter:     print(i)

2020年中国互联网媒体内容社区模式发展典型案例研究核心摘要随着注意力碎片化时代的到来,能够契合用户主流偏好内容展现方式的内容化信息呈现成为吸引用户注意力的有效途径,而能够承载各式内容交流的内容社区则成为近年间各类互联网媒体平台积极2020年中国HRSaaS行业研究报告核心摘要研究范畴HRSaaS就是SaaS模式的人力资源服务软件,与以往研究不同,本报告将顺应HRSaaS行业发展趋势向下渗透,研究底层PaaS平台对解决当前人力资源管理痛点发挥的价颜值与音质兼具,南卡LitePro无线耳机体验掐指一算,时至今日,我体验过的TWS耳机已有几十款了,在这么多耳机中,颜值与音质兼具的耳机并不多,不过南卡LitePro无线耳机算是其中之一了。南卡LitePro无线耳机到手的一瞬告别喧嚣,回归宁静,倍思S1主动降噪耳机体验作为一名上班族,每次坐地铁时,耳边总是充斥着刺耳的地铁运行声,令人痛苦难耐。为了抵抗噪声,最好的方式莫过于佩戴主动降噪耳机了。经过一番选择,最终选定了倍思S1真无线主动降噪耳机。深国货经典,漫步者LolliPodsPro降噪蓝牙耳机体验今年第一季度已经告一段落,我关注的漫步者推最新产品LolliPodsPro主动降噪蓝牙耳机也如约而至。说到这个品牌相信大家都不陌生,成立于1996年的科技公司,在中国来说已经算是老国风与科技碰撞,彰显东方之美,阿思翠S80国潮版耳机体验阿思翠S80国潮版耳机给我的第一感觉就是惊艳,它将科技与国风进行了完美的结合。据说阿思翠S80国潮版耳机的设计灵感开源于非物质文化遗产苏绣,颜值喜人,同时充电盒外侧采用孔雀蓝锦缎缀学习生活好帮手,小标彩虹标签机体验标签机是生活中一款很常见的小物件,外观小巧,用途广泛。别看它身材小巧,但总能起到锦上添花的作用,尤其是在物品收纳分类时,其作用不言而喻。小标标签打印机的特点之一就是能打彩字,还不褪小巧玲珑,舒适之选,JEETONE真无线蓝牙耳机体验真无线耳机的面市,给消费者带来了诸多的便利,其意义不言而喻。而随着无线耳机技术的逐渐成熟,其售价也变得更加亲民,JEETONE无线耳机就是其中之一。虽然JEETONE无线耳机的售价畅听无阻,尽情运动,南卡RunnerCCII骨传导耳机体验我相信很多人运动时,都喜欢边听音乐边运动,我也不例外。毫无疑问,骨传导耳机是运动者的最佳之选,既安全又实用,音乐运动两不误。我之前一直使用的是南卡RunnerCC骨传导耳机,最近听2020年中国移动游戏行业研究报告核心摘要中国移动游戏市场保持上升趋势,2019年市场收入规模约2091。6亿元,同比增长27。1移动游戏用户规模约6。6亿人,同比增长6。1。移动游戏产品数量大幅缩减,直接导致投资艾瑞微课堂第三方跨境支付未来破局关键在何处?核心摘要跨境电商跨境旅游以及跨境C2C汇款是中国跨境市场中的三个主要场景,其中跨境电商是第三方跨境支付依托发展的重要领域,在经历了早期的高速增长之后,中国跨境电商规模增速将逐渐放缓
百度阿里腾讯分别对应三国时期的哪国?百度,吴国。固守江东无论从市值还是过亿级的产品矩阵,百度都比阿里巴巴和腾讯弱很多。主要就是百度在移动互联网阶段没有拿的出手的成绩。没有像阿里巴巴和腾讯一样拿到移动大杀器,而百度搜索华为之星!华为MateBook14s评测摄像头回归传统,90Hz屏幕来袭哈喽,您好!我是原呵呵,点点关注吧,更多精彩内容等着您华为笔记本电脑在2016年之前推出的华为MateBook。电脑盖子上有一个共同的设计,就是华为花瓣,而现在华为改变了,改成印华政务大数据平台资源平台数据平台建设解决方案来源网络政务大数据平台建设的必要性为响应国家不断加快5G基建大数据人工智能等新型基础设施建设布局,切实推动新基建产业发展,提升某市数字经济的比重。结合我省数字政府建设的工作需求,搭新筑股份拟10亿现金收购进军光伏传统主业不振扣非已连亏10年长江商报消息长江商报记者明鸿泽传统主业经营业绩糟糕,新筑股份(002480。SZ)也要进军光伏领域了。12月23日晚间,新筑股份发布公告称,拟收购控股股东四川发展(控股)有限责任公如何部署独立站免费流量?独立站获取流量的方式无外乎有这几种SEO,SEM,SNS,EDM营销,软文营销,站群营销等等。一般的步骤是,对于b2b的业务来说,首先要建立自己的营销性网站,包含主流网站手机站1,云计算给我们的生活带来什么改变?早上630,家庭壁挂云终端响铃并提醒现在是早上630。室内温度20,室外温度10,PM2。5指数20,湿度40,有雾,适合晨练。我家的壁挂云终端接入了人工智能公共云端,它为我们提供腾讯诉抖音168次,单一版权索赔额高达8亿元影视行业短视频侵权乱象待解持续8个月之久的长短视频之争有了新进展。腾讯向法院申请变更诉讼请求,将斗罗大陆索赔金额从6160万元提高到8亿元。至此,腾讯半年来起诉抖音的标的总额已超过29。43亿元。2021年有人说国产手机华为有自己独立的核心技术,它的核心技术是什么?华为的核心技术?你能上网当喷子,就绕不开华为的技术专利服务还有设备,居然还舔个脸问华为核心技术是啥黑线黑线不告诉你,这是秘密呲牙有没有核心技术,美国一制裁就算清楚了核心技术不重要,支付宝里面的相互宝下线了,里面募集的259亿资金最终应该归谁?问题不成立啊,谁说里面有259亿?相互保的运营机制是有赔付才会有分摊,跟保险公司不一样,根本就没有资金池,所以你问的这259亿从哪来的?如果你要说累计赔付了259亿,那钱也已经赔付从吃瓜到懂点知识,看懂13。41亿背后的整个电商直播行业编辑导语前段时间,薇娅被罚一事引发了众多讨论,而直播电商生态的发展也许将迎来一个拐点,内容层在未来也许将愈发值得重视。头部主播平台方之间的关系会呈现怎么样的走向呢?本文作者就这次事江淮汽车回应与华为合作造车传闻目前没有,未来不排除更多可能性近日,有传闻称,江淮汽车将与华为合作造车,江淮汽车证券部工作人员回应称目前没有,华为目前是我们的技术供应商,我们的产品里搭载了华为的一些技术,之前一直就有合作。对于未来合作造车的可