位置: 编程技术 - 正文

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)

  • 个税申报本期收入指的是
  • 直接人工费用属于固定成本吗
  • 业务招待费是否可以抵扣进项税
  • 与生产相关的关键成功因素包括
  • 润滑油怎么做账务处理
  • 残保金在职职工人数临时工算吗
  • 房地产企业融资存在的问题
  • 修理费的定额发票还可以报销吗?
  • 退免税指的是增值税还是消费税?
  • 增值税专票盖章盖在哪里
  • 工会经费的缴费主体
  • 关联方债权投资与权益投资比例
  • 未确认融资费用摊销额怎么计算
  • 小企业长期待摊费用包括哪些
  • 宿舍管理制度规定心得体会范文
  • 买二手设备需要注意的事项
  • 购买工装的进项能抵扣吗
  • 职工的经济补偿金是优先债权吗
  • 营改增后还要交营业税吗
  • windows 10 bug
  • 收到负数购入发票怎么办
  • 净资产利润比率计算公式
  • 暂估入库入库单范本
  • 怎么安装win7系统步骤
  • 独资子公司如何注册
  • php字符串赋值
  • explorer.exe是啥意思
  • 差额征收是啥意思
  • php流程引擎
  • 受托代销商品会计分录受托方
  • 盈余公积转增资本对会计要素的影响
  • 人脸清晰化神器软件
  • h5页面跳转小程序不显示按钮
  • 如何在vue项目中运行后端
  • 用代码说话
  • 面试学弟学妹问题
  • 航天金税服务费280不交
  • 没进项发票怎么办
  • 出租房屋的房产税怎么算
  • css代码基础
  • 织梦怎么建站
  • 2021增值税发票怎么开步骤
  • 零售药店可申请纳入医保定点
  • 销货方怎么开具购买方红冲的发票
  • 公司性质和单位性质的区别
  • 债权投资相关科目
  • 费用少计提了怎么办
  • 收到违约金如何做账
  • 提取公积金收手续费吗
  • 单独运费怎么做账
  • 公司库存现金提现流程
  • 清算资金往来借贷方什么意思
  • 过期食品返厂会重新打日期吗
  • 固定资产租赁费评估
  • 印花税的征税对象有哪些
  • 印花税是根据什么计算的
  • 银行利息增值税发票申请单怎么填
  • 记账凭证的附件数可以手改吗
  • 通过SQL语句直接把表导出为XML格式
  • 防止黑客入侵的有效做法
  • Win7 64位旗舰版系统打开应用程序提示“发生未知的软件异常0xc06d007e”的解决方法
  • kvm虚拟化网络配置
  • 电脑百度搜索
  • win10打开软件时卡住
  • 文件选项夹在哪里
  • ubuntu系统安装nvidia显卡驱动
  • secondoption是什么意思
  • 常用的linux操作
  • linux的samba是什么
  • win7系统怎么打日语
  • win10出现恢复界面0xc000000f
  • div+css与xhtml+css分别是什么意思?
  • Node.js中的全局对象有
  • android颜色值
  • python接口编写
  • 你知道必要的意思吗英文
  • art+project
  • 浅谈python 四种数值类型(int,long,float,complex)
  • 注册一个信息咨询公司需要什么
  • 电费增值税专用发票如何抵税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设