位置: 编程技术 - 正文

Python迭代和迭代器详解(迭代 python)

编辑:rootadmin

推荐整理分享Python迭代和迭代器详解(迭代 python),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python迭代算法举例,迭代法python,python迭代算法举例,python中什么叫迭代,python迭代算法举例,python里迭代,python中什么叫迭代,python迭代算法举例,内容如对您有帮助,希望把文章链接给更多的朋友!

迭代器

迭代器(iterator)有时又称游标(cursor)是程式设计的软件设计模式,可在容器物件(container,例如链表或阵列)上遍访的界面,设计人员无需关心容器物件的内存分配的实现细节。

摘自维基百科

也就是说迭代器类似于一个游标,卡到哪里就是哪里,可以通过这个来访问某个可迭代对象的元素;同时,也不是只有Python有这个特性。比如C++的STL中也有这个,如 vector<int>::iterator it 。下面主要说一下Python中的可迭代对象和迭代器吧。

Python可迭代对象(Iterable)

Python中经常使用 for 来对某个对象进行遍历,此时被遍历的这个对象就是可迭代对象,像常见的 list , tuple 都是。如果给一个准确的定义的话,就是只要它定义了可以返回一个迭代器的 __iter__ 方法,或者定义了可以支持下标索引的 __getitem__ 方法(这些双下划线方法会在其他章节中全面解释),那么它就是一个可迭代对象。

Python迭代器(iterator)

Python迭代和迭代器详解(迭代 python)

迭代器是通过 next() 来实现的,每调用一次他就会返回下一个元素,当没有下一个元素的时候返回一个 StopIteration 异常,所以实际上定义了这个方法的都算是迭代器。可以用通过下面例子来体验一下迭代器:

自己实现一个迭代器,如下(参见官网文档):

生成器(Generators)

生成器是构造迭代器的最简单有力的工具,与普通函数不同的只有在返回一个值的时候使用 yield 来替代 return ,然后 yield 会自动构建好 next() 和 iter() 。是不是很省事。例如:

生成器最佳应用场景是:你不想同一时间将所有计算出来的大量结果集分配到内存当中,特别是结果集里还包含循环。比方说,循环打印个数,我们一般会使用 xrange() 而不是 range() ,因为前者返回的是生成器,后者返回的是列表(列表消耗大量空间)。

将可迭代对象转化为迭代器。

生成器表达式

和列表推导式唯一的区别就是中括号换成了小括号,如下:

Python端口扫描简单程序 本文实例为大家分享了Python端口扫描的实现代码,供大家参考,具体内容如下获取本机的IP和端口号:importsocketdefget_my_ip():try:csock=socket.socket(socket.AF_INET,so

Python用zip函数同时遍历多个迭代器示例详解 前言本文主要介绍的是Python如何使用zip函数同时遍历多个迭代器,文中的版本为Python3,zip函数是Python内置的函数。下面话不多说,来看详细的内容。应

详解Python多线程 本文实例为大家解析了Python多线程,供大家参考,具体内容如下1、多线程的理解多进程和多线程都可以执行多个任务,线程是进程的一部分。线程的特

标签: 迭代 python

本文链接地址:https://www.jiuchutong.com/biancheng/383463.html 转载请保留说明!

上一篇:python通过cookie模拟已登录状态的初步研究(python cookie session)

下一篇:Python端口扫描简单程序(主机端口扫描程序设计python)

  • 所得税汇算清缴招待费扣除标准
  • 复合计征消费税例题
  • 车辆购置税会计科目怎么做账
  • 公司老板有钱吗
  • 以前年度损益结转到未分配利润
  • 银行本票与银行本票存款的区别
  • 个税专项扣除是什么时候开始实行
  • 保险没有合同能退保吗
  • 固定资产不动产抵扣新政策
  • 预交增值税附加税费减免吗
  • 填开了红字信息表但未开红字发票
  • 改变使用用途 规划处罚
  • 预付卡发票报销单怎么写
  • 关于企业所得税若干优惠政策的通知
  • 商贸公司购买货物会计分录
  • 小规模纳税申报表
  • 报个税失业保险怎么填
  • 外贸企业零退税怎么算
  • 金银制成的金银币及摆件是否征收消费税?
  • 房地产开发企业的土地使用权计入哪里
  • 工厂产品研发代码是多少
  • 封装windows10
  • win10点击添加账户没反应
  • linux强制删除文件夹
  • 金蝶软件反年结账怎么弄
  • 房地产预缴所得税的计税基础
  • win8怎么提高性能
  • tracert命令的作用及用法
  • 增值税的计税依据包括消费税吗
  • PHP:class_uses()的用法_spl函数
  • 预计资产未来现金流量的期限
  • 支持h5浏览器
  • 增值税发票没认证 可以重新开吗
  • thinkphp批量修改
  • 凯丽温泉可以做spa
  • 巨人堤道上的玄关图片
  • node.js in action
  • yolov5s
  • 餐饮店库存盘点表
  • 地税代开的发票怎么计提税款?
  • 数字黑洞有哪些
  • mysql中join的用法
  • 工业企业发生的各项费用
  • 税收分类编码是什么意思啊
  • 在mysql中设置事务保存点
  • 专项附加扣除可以随时更改吗
  • 税控盘服务费小规模可以抵扣吗
  • 税控盘和维护费440元抵减增值税吗
  • 银行账户如何开立
  • 小规模企业其他增值税发票不含税销售额是灰色的
  • 个体的个人所得税怎么交税?
  • 外资企业和内资企业并举
  • 生产成本要如何核算
  • 政府补助计入资本公积吗
  • 住宿费专用发票会计分录
  • 探望公司员工现金费用报销怎么写
  • 理财产品产生的收益会成为本金吗为什么
  • 股东分红算不算成本费用
  • 会计基础知识归纳大全
  • win2003peiso
  • 禁用windows杀毒
  • 使用二氧化碳灭火器时人应该站在什么位置
  • 构建dockerfile
  • 32位与64位操作系统怎么区分从32位和64位的概念上进行讲述
  • 如何修复win7系统文件损坏
  • linux rsyslogd
  • 如何解决windows无法连接到打印机
  • 如何查看苹果mac系统
  • windows媒体中心关不掉
  • win10一周年深色主题
  • XMLHttpRequest Level 2 使用指南
  • jQuery Mobile和HTML5开发App推广注册页
  • jQuery解析XML 详解及方法总结
  • node.js的理解
  • 性能优化报告
  • jquery返回顶部
  • listview subitems
  • python之父推荐的书
  • 朝阳区下面分几个区
  • 减免性质代码怎么填写才正确
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设