位置: 编程技术 - 正文

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

发布时间:2024-02-27

推荐整理分享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)

  • 房地产增值税税率是多少
  • 实收资本多长时间缴纳完?
  • 一个人可以做多少家公司法人
  • 本月销售商品的实际成本怎么算
  • 职工福利费专票账务处理
  • 流动资产增幅
  • 研发支出期末余额列报
  • 超范围经营如何举报
  • 建筑工程外地预交税款后完工怎么办
  • 广告公司好进吗
  • 建筑业预缴税款都要填哪些表
  • 自营工程领用原材料
  • 逆流交易固定资产折旧实现,为什么按差额
  • 申报所得税营业税怎么算
  • 合伙企业出资额不计入实收资本和资本公积 那放哪
  • 小规模时取得的专票在一般纳锐人之后可以抵扣吗
  • 劳务公司开的3%专用发票能抵扣吗
  • 进项税的现金流怎么填
  • 制造成本包括哪几项
  • 电子普通发票怎么开
  • 华为手机屏幕有个圆点怎么取消
  • 购买方已抵扣申请红票,销售方为开具 购买方如何作废
  • 中途建账科目余额表怎么建
  • 材料成本差异如何理解
  • 企业向股东发放现金股利会引起
  • php gd
  • 自制生产设备领用原材料按照什么确认收入
  • 会计差错及账项调整
  • php消息实时推送完整示例
  • 整体租赁合同
  • 我找到了这个
  • 使用vue搭建项目
  • 微信红包如何发出去
  • php接口技术实例分析
  • 2023年第十一批专项债
  • 仓库盘点单模板
  • vue3.0实战项目
  • CNN卷积神经网络/手写数字识别[VHDL][MATLAB]带源码
  • 自动驾驶数据集 mev
  • 审图费谁出
  • 处理二手物品要交增值税吗
  • 房产原值是否含增值税
  • 备用金管理方式
  • mysql分表的3种方法
  • 帝国cms适合个人用吗
  • 个人账户用于公司发工资
  • 购入商品再卖出
  • 企业发生的职工福利费支出,不超过工资
  • 上年多交的增值税怎么调整
  • 车船税是什么样子的?
  • 为取得借款发生的手续费
  • 税金及附加怎么算
  • 支付货款订金入什么科目
  • 差旅费中住宿费的标准是什么
  • 百旺开发票清单
  • 过户前交了契税能退吗
  • 软件开发费属于研发和技术服务还是信息技术服务
  • mysql查询语句优先级
  • SQLServer CONVERT 函数测试结果
  • mysql5.5解压版安装教程
  • ubuntu 4.10
  • CentOS yum php mcrypt 扩展安装方法
  • win10预览版21277
  • xp启动项设置在哪里设置
  • 苹果mac系统休眠怎么解除
  • win7系统如何调节电脑屏幕亮度
  • freebsd服务器怎么样
  • cocos2d-x教程
  • 原生js实现路由
  • 批处理 /a
  • 使用jquery的步骤
  • java script入门
  • jquery根据name
  • 欢迎使用来电提醒业务是什么意思
  • 税控盘时间不对有影响吗
  • 金银首饰以旧换新业务按销售方实际
  • 税务如何稽查
  • 投资联营的房产税纳税人是谁
  • 晋中税务局领导班子简历
  • 常设机构怎么缴纳所得税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号