位置: 编程技术 - 正文

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)

  • 存货盘亏计入哪个会计科目
  • 小规模纳税人季报还是月报?
  • 什么企业可以开增值税专用发票
  • 民办学校账务怎么做
  • 个人抬头发票可以抵税个人所得税吗
  • 偶然所得计税依据 包不包含增值税
  • 税率13降到11的财税政策解读
  • 怎么做销售二手车
  • 非全日制员工个税扣除标准
  • 企业安排残疾人就业有啥优惠政策
  • 销售方如何开具红字增值税专票 对方未抵扣
  • 非税收入的发票能抵扣吗
  • 小企业出售无形资产发生的净损失应当计入什么科目
  • win7桌面快捷键是什么
  • 生产经营所得个税表
  • 增值税发票认证操作流程
  • 周转材料属于什么科目
  • 无形资产商标设计图片
  • laravel自动生成接口文档
  • 建筑工程给排水的内容
  • rnbrcache.exe是什么意思
  • vue的iframe
  • 图文详解:台盆柜安装的全过程
  • 鱼湖国家森林中心在哪里
  • 扫码分享到微信
  • 其他综合收益的来源
  • 油气勘探支出包含哪些
  • 现金折扣的账务处理最新规定
  • 自产自销农产品发票如何开具
  • 国有企业收到财政补助如何做账
  • html制作动画代码
  • 通俗易懂的炒货店名字
  • 浏览器本地存储的方式
  • pytorch m1
  • gin框架使用案例
  • 建安企业确认收入的依据
  • 财务报表的作用包括?
  • 产品管理部门职责
  • SQL Server 2005 模板参数使用说明
  • 企业进行成本核算时,应根据生产经营特点
  • 小规模纳税人的条件
  • 交易性金融资产的账务处理
  • 营改增后,建筑行业与供应商签合同才怎样签没风险?
  • 房地产开发公司注册资金要求
  • 施工企业的成本核算
  • 个人承包公司运输违法吗
  • 实收资本减少的要交什么税
  • 承兑汇票贴现计算器下载
  • 为什么其他权益工具投资处置价差计留存收益
  • 第三季度利润
  • 购置税 过户
  • 现金日记账年结怎么划线
  • 零星采购多少不需要发票
  • 粗纤维测定仪价格
  • 工资薪金个人所得税扣除标准
  • 建筑公司异地施工
  • sql server 错误
  • mysql 1290怎么解决
  • freebsd wifi设置
  • linux find命令查找文件名
  • 一台电脑多个用户组怎么显示在一个屏幕上
  • linux的总结
  • windows 高分屏
  • 2021年win10累积更新
  • win7系统怎样
  • linux如何修改gid
  • linux chakan
  • linux文件目录管理命令
  • 我为什么要
  • javascript字符串操作函数
  • [置顶]从lv2开始开挂的原勇者候悠闲的异世界生活
  • 在linux的主要组成部分中最基础的是哪一项?
  • jquery自动加载的方法
  • unity3d怎么用
  • 收藏一些不常用的图片
  • sql怎么增删改
  • 基于jQuery和Bootstrap的设计报告的参考文献
  • 企业所得税季报资产总额怎么填
  • 北京市地税局领导
  • 电子发票查询平台打印
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设