位置: 编程技术 - 正文

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访问地址)

  • 业务招待费可以进项抵扣吗
  • 企业所得税如何规避
  • 企业所得税纳税义务人
  • 所得税预缴怎么做分录
  • 房产税从租和从价
  • 不能收回的应收票据
  • 异地预缴增值税账务处理
  • 小规模购买税盘的费用可以抵税吗
  • 通用机打发票没有税率
  • 提入转账支票会计分录
  • 开发间接费用的分配率为本月
  • 税前扣除的职工福利费标准
  • 买卖汇票是什么意思
  • 未支付的款项如何做账
  • 发票付款证明怎么写
  • 哪些情况下超市销售发霉食品免责
  • 年数总和折旧计算方法
  • 同一控制下企业合并入账价值
  • 双倍余额法折旧率计算公式
  • 任务管理器网络占用率100%怎么办
  • 纳税人依法可以享受减免税待遇而没有享受的
  • macqq怎么查看删除好友
  • win11安装更新时出现一些问题
  • 个体户工商年报异常怎么解除
  • 库存呆滞品处理方法
  • php异常的基类
  • 有销项无进项税务局会怎么罚
  • 增值税发票开红字发票后账务处理
  • 什么样的企业是好企业,什么样的员工是好员工
  • 外币交易犯法吗
  • 劳动法律法规包含哪些
  • 路由器增强型
  • 收取包装物押金税率
  • php如何上传1个g以上的文件
  • 收到借款利息会计科目
  • 2022最新廉洁警示语句
  • 企业采购过程中发生的材料短缺
  • 来料加工的账务处理
  • 小规模减免的附件有哪些
  • 会计打印发票请求怎么写
  • 增值税专用发票丢了怎么补救
  • vmware vmtools
  • 公司的内账
  • 销售费用工资明细科目
  • 其他应付款怎么做账
  • 客户多付的货款计哪里
  • 个体户电子申报税流程
  • 有收入就要结转成本吗为什么
  • 终止劳动合同赔偿金最晚多久发放
  • 企业哪些账户可以取现金
  • 营业执照备案登记表
  • 增值税专用发票查询系统官方网站
  • 代扣缴纳税款会计分录
  • 国有企业投资程序
  • 进项税有余额在报表如何反应
  • 应收账款科目如何核算
  • 转移固定资产是指什么
  • 代建项目谁付款
  • 营业外支出会计编码
  • 到银行货款现金怎么货
  • 其他综合收益转出
  • 小规模如何申报1个点
  • 违反会计法规定的行为有哪些
  • mysql8.0 主从
  • mysql使用正则表达式查询数据并另存为另一列
  • centos7安装MySQL5.6
  • kvm虚拟机paused
  • solaris 修改用户 主目录
  • win7 设置
  • js下拉列表框
  • 简单的jquery插件实例
  • unity射击游戏完整功能代码
  • 基于jquery实现小说
  • JQuery 设置checkbox值二次无效的解决方法
  • 郑州二套房契税征收2023标准是多少
  • 个人绩效考核税务局
  • 推进社会治理的路径
  • 湖南增值税起征点
  • 广东2020医保缴费要多少
  • 抄报税怎么弄
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设