位置: 编程技术 - 正文

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

  • 车辆保险的车船税怎么算
  • 开发票价格能否比实际金额高
  • 增值税抵扣了,附加税怎么算
  • 购固定资产需要交什么税
  • 为职工代垫的水电费应计入
  • 开办期间的财务会计制度
  • 销项税的抵扣
  • 减半征收的印花税缴纳所得税吗
  • 职工福利费会计核算
  • 分支机构是不是需要设立账簿
  • 增值税专用发票有效期是多长时间
  • 远期汇票分为哪几种
  • 车船税法律制度的规定什么是以每米为计税依据的
  • 一个月计提2个月工资
  • 营改增后房地产企业如何开票
  • 2018一般纳税人印花税减半吗
  • 未到期汇票要怎么进行税务处理?
  • 如何利用成套消费品进行纳税筹划
  • 退休职工的医疗保险怎么发放
  • 建筑企业建筑业
  • 固定资产双倍余额递减法计提折旧公式
  • 暂估成本比实际高分录
  • PHP:Memcached::getStats()的用法_Memcached类
  • 核定企业应税收怎么算
  • hook execution failed
  • 若依官网
  • 贷款和应收款项应采用实际利率法,按摊余成本计量
  • 源码阅读技巧
  • php substr()
  • 凯丽温泉可以做spa
  • vit详解
  • 收到待报解预算收入怎么做分录
  • 发票作废有费用吗
  • 对企业采取以旧换新方式销售的应税产品
  • 外贸退税是算利率吗
  • 开票金额应该含增值税吗
  • 多付款退回怎样写说明
  • discuz设置门户
  • 接受捐赠的固定资产怎么计提折旧
  • 无票收入交不交增值税
  • 防暑降温用品进口品牌
  • 什么企业不用交残保金
  • mysql的存储过程怎么理解
  • 个人股东和法人股东分红纳税
  • 独立法人企业关系怎么写
  • 计提折旧是哪个月的
  • 国家知识产权专利网
  • 出口货物 增值税
  • 实物投资需要缴纳增值税吗
  • 土地税计税方法
  • 文化事业费的费率是多少?
  • 怎样查企业注册地址
  • 贷款购车怎么做会计分录
  • 用sql语句添加删除字段
  • mysql 5.7.17 winx64安装配置方法图文教程
  • 简述mysql的优势
  • 怎么进入bios设置界面win10
  • windows 8.1 build 9600
  • centos获取权限
  • win8怎么关电脑
  • win10红石版
  • redhat linux enterprise 5 输入ifconfig无效的解决方法
  • squid服务器配置
  • w10开机欢迎界面设置
  • Win10 Mobile build 10586.338上手视频曝光
  • win7怎么调图片大小
  • js定义函数的几种方法
  • 使用jquery操作dom
  • bat error
  • webpack配置文件在哪
  • unity data
  • jquery中的$是什么
  • jquery内容过滤选择器有哪些
  • jquery字体设置
  • android 数据库
  • 电子税务局怎么添加银行账户信息
  • 审批制改为备案制有什么区别
  • 税收优惠政策有哪些企业
  • 美国海外公司每年利润
  • 煤炭限产是利好还是利空
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设