位置: 编程技术 - 正文

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

  • 企业计提增值税 附加税
  • 营业税金及附加是什么科目
  • 开具红字专用发票的条件
  • 贴现手续费计入投资收益
  • 企业电子支付
  • 二房东转租需要备案吗
  • 转让土地使用权怎么交增值税
  • 捆绑销售如何做会计处理合适?
  • 房子免租期
  • 成本类与费用类科目哪些区别
  • 建筑工地的零星补单是指什么意思
  • ppp项目是否纳入政府债务
  • 个人借公司款利率多少合法
  • 为什么企业要预缴增值税
  • 所得税汇算清缴调整项目
  • 增值税普通纳税人税率
  • 联营与参股公司的关系
  • 个体户 季报
  • 租赁发票需要写税号吗
  • 制造费用如何分摊到产品的成本
  • 出口布料有退税吗
  • 技术转让时增值税怎么算
  • 主营业务利润计算
  • 行政单位年底结账怎么算
  • 建筑公司采购制度和流程
  • 苹果手机下载手机克隆哪个版本
  • 鸿蒙系统如何隐藏文件
  • 苹果7旧换新
  • 房产税和土地使用税征税对象
  • b250主板最好的cpu是哪一款
  • 前端vue后端node
  • 黑马程序员前端工程师简历
  • yii框架入门
  • 简单的画
  • 金税盘全额抵扣分录
  • 帝国cms wordpress
  • 公司管理费一般占多少个点
  • 还银行贷款怎么做凭证
  • 持有至到期投资属于流动资产吗
  • python中的函数库
  • sql有什么
  • 入库单如何做账分录
  • 企业分期收款的账务处理
  • 临时贷款属于什么会计科目
  • 固定资产一次性扣除政策
  • 管理费用包含研发费用需要减吗?
  • 厂部管理人员的工资属于制造费用吗
  • 暂估入账应该如何操作
  • 公司代垫个税账务处理
  • 装订凭证需要注意事项
  • 因企业增资而产生的费用
  • 销售折让的会计账务处理分录
  • 集装箱发票是否要在备注栏注明地址
  • 刚成立的公司没有五险一金
  • 单位存款的种类有哪些
  • 会计岗位职责风险点及防控措施
  • mysql的安全级别
  • MySQL利用命令行工具启动和关闭的命令是什么
  • freebsd操作命令
  • u盘启动盘进入pe系统
  • wps.exe是什么
  • windows media player播放不了mp4
  • win7右下角提示测试模式
  • win8删除所有文件
  • 电脑显示window
  • win8怎么设置
  • vs opengl配置
  • perl处理特殊符号
  • jquery写入json文件
  • javascript中获取字符串长度
  • javascript绘制图形
  • android 按键
  • 增值税普通发票需要交税吗
  • 一般纳税人出售房产怎么开票
  • 出口退税是哪个环节交的
  • 小规模纳税人可以用专票抵扣税吗
  • 境外付款需要什么手续
  • 湖北省电子税务局
  • 食堂增值服务有哪些
  • 代理记账费用可以全额抵扣吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设