位置: 编程技术 - 正文

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

  • 可税前扣除的费用有哪些
  • 什么是税收收入效应
  • 工商年报纳税总额怎么算
  • 增值税不含税销售额怎么计算
  • 测绘费发票需要备注么
  • 建筑业确认收入的时间是按进度计量么
  • 法人存到公司账户的钱怎么记账
  • 弥补上年度亏损
  • 中小企业免税证明
  • 维修汽车费用
  • 房地产开发企业的土地使用权计入哪里
  • 小规模纳税人怎么查询
  • 长期股权投资的减值准备的会计处理
  • 公司筹建期间发生的费用没有发票
  • 一般纳税人注销公司流程2023
  • 定额发票2019
  • 兼职取酬案例剖析
  • 股权转让未分配利润如何账务处理
  • 员工培训费应该怎么算
  • 怎么判断要不要交水利基金
  • 简易计税增值税计入什么科目
  • 企业 停业
  • windows10如何开机启动软件
  • 行业收购溢价
  • 在win7中如何找到WAN服务
  • window10系统有几种
  • 装饰装修工程月薪多少
  • 个人所得税扣缴申报啥意思
  • 房屋装修各项费用比例
  • rtmservice.exe - rtmservice是什么进程 有什么用
  • phpmvc框架工作原理
  • php中常见的错误类型有
  • 个体户跟企业户
  • 季度报表本期金额和累计金额
  • php抽奖程序源码
  • 新个税讲解
  • unrar解压命令
  • php怎么转go
  • 小规模纳税人货款怎么算
  • 筹建期工会经费怎么算
  • 发票校验码是什么在哪
  • vue3子组件如何拿到父组件实例
  • 什么叫动量交易
  • 停车费不动产租赁税率
  • 个税系统经营所得人员怎样添加
  • 发票生活服务费填什么报销内容
  • 不用交社保的几种情况
  • 软件公司会计科目
  • 业务招待费如何扣除
  • 用于集体福利的进项税额怎么处理
  • 费用科目可以在借方吗
  • 收到质保金怎么写收据
  • 从银行取现金是什么凭证
  • 购买税控系统分录
  • sql语句错误提示
  • 如何创建sql server数据库表
  • 在Vista、Windows7下玩英雄无敌3绿色版
  • windows软件删除
  • win8系统如何开机直接进入桌面
  • U盘安装ubuntu的分区详细教程
  • qtask.exe - qtask是什么进程 有什么用
  • mac无线打印
  • centos查看具体版本
  • XP系统升级WIN7系统
  • 日常办公常用的批处理脚本
  • 用css制作网页的步骤
  • python 异步操作
  • shell打开日志文件
  • python写汉字代码
  • unity2d寻路
  • 游戏引擎在游戏开发中的核心作用
  • easyui加载数据慢
  • windows搭建python运行环境
  • 美国税务制度
  • 税务局收垃圾处置费
  • 收购烟叶可抵扣进项税
  • 放管服改革存在的不足
  • 国税地税怎么分成
  • 纳税人销售免征增值税
  • 企业税务登记是什么证件
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设