位置: 编程技术 - 正文

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)

  • 企业所得税计算例题
  • 幼儿园收费怎么说
  • 设备采购及安装属于工程还是货物
  • 印花税已经申报在哪里点交费
  • 私立医院申报程序
  • 年报过期了
  • 电子税务局税种核定怎么操作
  • 资本公积是企业所得税吗
  • 不进行工商登记会怎样
  • 税收的构成要素包含哪些内容
  • 递延所得税当期发生额
  • 境外所得纳税
  • 工程改造合同印花税
  • 评估入账的开发权是否可以税前扣除?
  • 服务协议属于哪类合同
  • 投资款印花税的税率是多少啊
  • 零售超豪华小汽车交消费税吗
  • 个税起征点是多少啊
  • 取得抵债房产的涉税风险,你清楚吗?
  • 个税申报方式可以修改去年的吗
  • 交强险是不是只要有发票就可以报销
  • 交通费进项税抵扣计算
  • 企业所得税法中规定的收入总额包括
  • 升级打装备的手游
  • 材料采购差异的影响因素
  • 企业帐薄包括哪些
  • 宽带连接错误678最简单的解决方法
  • 单位支付安装天然气费
  • php生成php文件
  • 送给经销商的祝福语
  • 关闭win10系统更新有什么后果
  • 用应付票据付应收账款
  • 耕地占用费与耕地的区别
  • 前端框架view
  • 销售过程的主要内容
  • 自己买材料自己装修
  • 公司基本户没有开户许可证
  • 无法将node项识别为
  • php swoft
  • 深究Python中的asyncio库-shield函数
  • 应收账款质押融资平台
  • 管理费用增加记哪方
  • 小规模纳税人附加税减免政策2023
  • mysqli
  • 安装sql server 2008硬件要求
  • sql存储过程详解图
  • 交易性金融资产属于流动资产
  • 关于种植养殖的手抄报
  • 未分配利润是否可以全部分红
  • 长期股权投资成本法转权益法的处理
  • 给销售培训产品该如何做
  • 收据作为原始凭证的依据
  • 核定征收企业有没有自然人电子税务
  • 质保金怎么做账
  • 财政收回项目资金请示
  • 有发票还要填写领款单吗
  • mysql优化的几种方法
  • MySQL数据库安装后通常默认的管理员用户名为
  • mysqldump命令在哪里执行
  • debian安装zsh
  • window10运行框
  • win8系统开机界面
  • linux网络优化
  • win8.1 升级
  • centos minio
  • win8电脑d盘不见了怎么恢复
  • cocos2dx菜鸟教程
  • css 网页布局
  • nodejs worker
  • css checked
  • jquery地址
  • pm2启动nodejs
  • Unity for Absolute Beginners(一)
  • 简单的设计模式
  • 货物运输代理服务税率
  • 深圳国税地税怎么申报
  • 深圳市税务网上注销流程图
  • 税务设备有什么特点
  • 山东省合格考密码
  • 河北地税网上申报纳税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设