位置: 编程技术 - 正文

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

  • 工程类预交税金
  • 初级职称经济法目录
  • 印花税需要计提吗?怎么做会计分录
  • 交通事故的支出是否可以个税税前扣除
  • 金蝶软件中怎么增加固定资产
  • 企业所得税法允许税前扣除的费用划分为
  • 融资租入的固定资产需要计提折旧吗
  • 清算时实收资本怎么计算
  • 如何查看增值税申报表
  • 其他收益怎么用
  • 偶然所得申报期限
  • 一般纳税人增值税怎么做账务处理
  • 跨境电子商务出来能干嘛
  • 租金和押金的税率
  • 存货项目包括哪些具体内容
  • 购买农产品发票买价含税吗
  • 有限合伙合伙人要求
  • 如何计算非居民用电量
  • 购入厂房时缴的土地增值税如何入账?
  • 地税印花税税率是多少
  • 旅游业相关行业
  • 一般户开户行可以开增值税专票么
  • 核定征收的企业不能弥补亏损
  • 租金返还方式销售
  • 财务报表批准日是哪一天
  • 库存月底怎么一次性结转成本?
  • 房屋租赁公司要交哪些税
  • windows全部禁用
  • 生产成本包括什么科目内容
  • 投入产出法怎么求逆矩阵
  • 公司欠法人钱
  • 对于目标文件系统文件过大无法删除
  • 返利怎么走账
  • spring 异常
  • 研发费用税前加计扣除怎么算
  • 葡萄酒企业已纳税多少
  • chrome安装教程
  • 如何在vue项目中运行后端
  • 2022年最新公务员职务职级对照表
  • 小微企业免税额怎么计算
  • 帝国cms移动端
  • css入门经典
  • mysql数据库高可用方案
  • 融资租赁手续费一次性还是摊销
  • 物业增值服务主要有哪些
  • sql server2008代理无法启动
  • 财务会计报表的使用者有哪些
  • sqlserver行列转换多行多列
  • 残疾人就业保障金
  • 个人所得额哪些要交税
  • 加计扣除适用于什么企业
  • 扫码开票软件
  • 营改增后存在的问题
  • 同一控制下企业合并
  • 加盟代理需要什么手续
  • 记账凭证会计核算形式的程序
  • 现金流量表现金及现金等价物净增加额
  • 企业房屋折旧年限是多少
  • 农民专业合作社法
  • 受同一方重大影响的企业之间为什么不构成关联方
  • 高新企业认定条件2022上海
  • mysql5.7.21安装
  • XP系统怎么升级win10
  • osk.exe
  • 苹果mac怎么连接显示器
  • WinXP巧用Netsh工具快速填写IP参数
  • ExtJS4给Combobox设置列表中的默认值示例
  • 腾讯im sdk
  • 初识年岁尚温柔 小说 免费
  • centos6安装python
  • shell脚本相互调用
  • python怎么生成随机函数
  • android基础知识大全
  • python 上传文件到ftp
  • python引用和调用有什么不同
  • js实现物体移动
  • Python出现keyerror
  • 餐饮企业需要缴纳哪些税
  • 本市可以跨县高考报名吗
  • 统一社会信用代码证
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设