位置: 编程技术 - 正文

python中实现迭代器(iterator)的方法示例(python迭代算法举例)

编辑:rootadmin

推荐整理分享python中实现迭代器(iterator)的方法示例(python迭代算法举例),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:迭代 python,python中的迭代法,python迭代语句,迭代 python,python迭代算法举例,迭代 python,python中的迭代法,python迭代算法举例,内容如对您有帮助,希望把文章链接给更多的朋友!

概述

迭代器是访问集合元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

延迟计算或惰性求值 (Lazy evaluation)

迭代器不要求你事先准备好整个迭代过程中所有的元素。仅仅是在迭代至某个元素时才计算该元素,而在这之前或之后,元素可以不存在或者被销毁。这个特点使得它特别适合用于遍历一些巨大的或是无限的集合。

今天创建了一个实体类,大致如下:

然后创建一个实体列表:

我想要执行next()功能,也就是需要的时候“next”一下,得到List中的下一个元素。

直接测试一下:

结果发现List不支持next()特性。这时候,List只是一个iterable,而不是iterator。

python中实现迭代器(iterator)的方法示例(python迭代算法举例)

iterable和iterator的区别如下:

iterable —— 只实现了__iter__的对象; iterator —— 同时实现了__iter__和__next__方法的对象。

其中, __iter__返回iterator对象, __next__则返回迭代过程的下一个元素。

1. 让列表成为iterator

要让前面的accounts List成为iterator只需简单的一个iter()函数:

结果如下图所示:

这么简单的函数,估计还是有不少Python开发者不知道吧?

2. 自定义iterator对象

扩展开来讲,如何定义自己的iterator对象呢?其实也就是按照上面的定义,实现__iter__和__next__方法。

我们接下来定义一个AccountIterator类:

运行结果如:

通过这一阵折腾,next()功能就实现了。Python有不少意外的功能,还等着我们不断去探究,也许这就是Python的魅力及极客之处。

总结

标签: python迭代算法举例

本文链接地址:https://www.jiuchutong.com/biancheng/381332.html 转载请保留说明!

上一篇:Python正则替换字符串函数re.sub用法示例(python正则批量替换字符串)

下一篇:python django 访问静态文件出现404或500错误(python访问地址)

  • 税务一证通
  • 农产品收购发票使用范围
  • 出口消费税税率
  • 合营企业和联营企业的持股比例
  • 车间人员负担的工会经费
  • 软件工程质保金
  • 报关单上消费使用单位可以交税么
  • 第二季度的季初资产总额和季末资产总额怎么填
  • 普票丢失了能作废重开吗
  • 材料亏损怎么做会计分录?
  • 劳务费做账是否需要发票
  • 会计中制造费用是什么意思
  • 自制农产品采摘机器设备
  • 行政单位往来款项长期未清理
  • 房租发票按季度开具,可以一次性计费用吗
  • 防洪费计税基础
  • 企业亏损情况下股东借款怎么办
  • 三证合一后还要去税务局吗
  • 外包服务费税率是多少
  • 房地产企业什么时候交企业所得税
  • 公积金多交退回怎么申报个税
  • 人力成本包括哪三个方面
  • 给别人的返利是属于什么费用
  • 公司决议效力确认纠纷
  • 去年的发票今年怎么做会计分录
  • 汇算清缴所得税补缴怎么处理
  • PHP:oci_lob_copy()的用法_Oracle函数
  • bearshare.exe进程安全吗 bearshare是什么进程
  • 教育发展基金计提比例
  • 老板垫资如何做账务处理
  • 开展党建系列活动
  • 企业购厂房会计分录
  • Laravel中七个非常有用但很少人知道的Carbon方法
  • 企业停产免征房产税
  • 外贸企业进料加工复出口退税政策
  • 生产经营个人所得税速算扣除数表
  • 注册教育培训机构需要哪些手续
  • 缴纳医疗保险费会计分录
  • 金融企业贷款损失
  • 企业所得税申报更正怎么操作
  • 贷款 减值
  • 税控盘全额抵扣发票怎么勾选
  • 销售旧货和销售使用过的固定资产
  • 分公司可以分配利润吗
  • 长期股权投资的明细科目有哪些
  • sqlserver2019删除
  • 认缴出资额就是营业执照上的注册资金
  • 实收资本印花税属于什么税目
  • 增值税专用发票抵扣期限
  • 货物运输企业的经营内容
  • 个人生产经营所得
  • 事业单位会计的特点
  • 微信收款如何做账报税
  • 分公司财务归谁管
  • 购入土地使用权用于建造厂房分录
  • 预付账款有余额吗
  • 限定性净资产的例子有哪些
  • 发票验旧就是作废么?
  • 油票发票在报销单上怎么填写
  • xp光盘安装教程
  • windows8怎么调整亮度
  • win10系统预览版
  • 电脑pc的操作系统叫什么
  • win8光盘安装
  • cocos2d游戏源码
  • django中的model
  • javascript字体属性
  • jqueryon事件
  • jqueryui easyui
  • Node.js中的事件循环是什么
  • 文本框几种常用属性
  • 原生js实现节日变化
  • threejs入门教程
  • python怎么将数据存到数据库
  • jquery插件库免费
  • android电话簿
  • 重庆电子税务局网页版登录
  • 福建税务总局电话
  • 怎么查国税
  • 代理记账公司前期准备流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设