位置: 编程技术 - 正文

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)

  • 城建税的征税范围不包括农村对不对
  • 旅游业成本交税会计分录怎么做
  • 零报税有风险吗
  • 全国税务师官网报名
  • 所得税是什么意思
  • 发票上税额加不上怎么办
  • 期间费用明细表中的各项税费是指什么
  • 企业为员工租房账务处理
  • 税务评估补税如何入账处理合适?
  • 材料采购成本差异属于什么科目
  • 税前可以扣除的管理费用计算公式
  • 工伤赔款付医药费怎么会计分录
  • 企业所得税季报怎么申报
  • 收到收入怎么做分录
  • 计提工资时需要附工资表吗
  • 从租计征的税率
  • 营业收入与主营业务收入的区别与联系
  • 公司收到汽车理赔款
  • 个人股东分红如何合理避税
  • 非关联企业无偿拆借资金企业所得税
  • 代买车船税怎么挣钱
  • 无线路由器指示灯怎么才是正常
  • Remoterm.exe - Remoterm是什么进程 有什么用
  • 固定资产没提完折旧,提前处理
  • 苹果官网
  • 免征的增值税账务处理
  • 其他应付款不需要支付的怎么处理,预算会计
  • 营业外收入账户性质
  • FUXA个人学习总结(一)
  • 股权名称应该填什么?
  • 前端axios是什么
  • pytorch如何搭建神经网络
  • redis zset源码
  • 使用ChatGPT进行AI对话
  • reprovision签名失败error
  • 删除组合命令
  • 帝国cms怎么用
  • 研发费用加计扣除75%还是100%
  • 往账来账是什么意思
  • 应收账款出售给银行账务处理
  • 帝国cms怎么调用文章随机段落
  • javascript 箭头
  • 年终企业所得税怎么结转
  • 收付转和记账凭证
  • 办公费用开专票可以抵扣吗
  • sql server 2008使用教程
  • 银行存款日记账是企业的还是银行的
  • 资源税会计科目
  • 委托开发费用
  • 收取的招标资料费增值税税率
  • 航空电子客票行程单怎么打印
  • 路桥公司会计核算办法
  • 长期借款涉及哪些账户
  • 无偿赠送他人产品,会计分录怎么写
  • 公司差旅费报销标准表
  • 支付宝如何支付医保费用
  • 原材料按实际成本核算与按计划成本核算相比
  • 支付宝里的收入和支出明细能查多久的?
  • 工业企业固定资产投资
  • mysql(master/slave)主从复制原理及配置图文详解
  • mysql全部语法
  • 国内的windows是正版吗
  • 虚拟系统win10
  • ubuntu 启动gui
  • vmstat命令
  • ubuntu系统安装教程
  • vm15虚拟机安装
  • linux学习思路
  • win7系统打开文件会闪退
  • android 相对布局居中
  • shell 数组操作
  • shell编程教程
  • python pygame模块详解
  • jquery使用css
  • jQuery+formdata实现上传进度特效遇到的问题
  • “python”
  • 税务机关一案双查管理办法
  • 税收分类分级管理后如何开展风险管理
  • 金税三期可以申报个税吗
  • 河南省郸城县教育局举报电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设