位置: 编程技术 - 正文

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)

  • 纳税信用等级评定在哪里查询
  • 公司收到待报解预算收入退的款是什么
  • 公允价值变动损益影响营业利润吗
  • 测距仪计入什么科目
  • 购买的金蝶软件怎么记账
  • 医疗服务收入占比标准
  • 单位车辆交强险赔付流程
  • 处置子公司全部股权会计处理 企业会计准则
  • 工业企业成本核算的一般程序包括下列的
  • 转账支票支付购货款填制什么凭证
  • 固定资产折旧方法有几种
  • 工会经费支出无效怎么办
  • 企业资产业务收购税务处理怎么做?
  • 现金报销银行账户
  • 企业的车辆购置税计入哪个科目
  • 海关进口关税专用缴款书可以抵扣吗
  • 跨县提供建筑服务增值税申报
  • 财税2010 121号文件是否作废
  • 如何查询企业开票记录
  • 自用房屋的房产税怎么缴纳
  • 旅客运输抵税
  • 上年工资计提多了才发现
  • 外币账户利息结汇
  • 出口退税函调是什么意思
  • 征信费用会计分录
  • 个人劳务费几个点
  • 如何修改自己电脑物理地址
  • mac本host文件
  • mac键盘快捷键设置
  • 交暖气费可以开单位发票吗
  • 专利权的期限是指专利权的实际有效期限
  • 操作系统的类型和比较
  • php文件注释标记是什么
  • 应交税费为负数什么原因
  • pytorch说明文档
  • 跨域的几种方法
  • 增值税加计抵减申报表怎么填
  • joomla模板制作教程
  • 小程序生命周期钩子
  • 前端vue面试题2020
  • 【历史上的今天】3 月 23 日:网景创始人出生;FORMAC 语言的开发者诞生;PRMan 非商业版发布
  • 福利费工会经费教育经费计提比例
  • 帝国cms如何使用
  • 航天信息发票怎么抵扣
  • 公司被吊销营业执照的法律后果是什么?
  • 解决在sql脚本中怎么写
  • 兼职劳务报酬税率
  • 企业所得税汇算表
  • 季度所得税申报表本年累计怎么填
  • 固定电话机用装电池吗
  • 公司购买汽车如何抵成本
  • 存货管理的类型
  • 哪些情况下可以终止心肺复苏
  • 认缴制下实收资本可以减少吗
  • 企业解散清算程序
  • 养老保险 退钱
  • 外汇申报材料
  • 建筑业企业承包资质类别包括
  • 利润为负还要交增值税吗
  • 注册表 命令
  • win制作mac启动
  • windows server 2012 nfs共享
  • mac如何自行检测硬盘信息
  • win8浏览器打不开网页但能上网
  • 手动为LiteSpeed安装eAccelerator和XCache的方法分享
  • jusched.exe是什么进程
  • win8双系统怎么切换
  • window10 wifi打不开
  • win10系统的电脑
  • linux中shell脚本编写
  • 批处理基础知识
  • node react vue
  • jquery隐藏和显示div
  • 非营利组织税务处理
  • 发票 报销期限
  • 陕西省电子税务局官网登录入口网址
  • 山东省2023年医改方案
  • 车船税优惠政策2022年
  • 税控卡丢失怎么办
  • 车辆购置税查询官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设