位置: 编程技术 - 正文

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)

  • 股权转让和变更法人一样吗?
  • 子公司之间股权转让
  • 发票验旧以后还有用吗
  • 什么不属于损益类的会计项目
  • 增值税纳税处理
  • 申报财产租赁合同印花税是在什么情况下?
  • 去年12月份到现在有多少天了
  • 单位聘请临时工工资怎么报税
  • 小规模代扣代缴个税会计分录
  • 租赁合同印花税计税依据
  • 失控发票如何认定
  • 对方公司开支票怎么办
  • 电子商务出纳的岗位职责
  • 如何查询以前申诉进度
  • 增值税小规模纳税人适用3%征收率
  • 企业年金个税如何计提
  • 垫付按揭保证金怎么做账
  • 股东和原始股的区别
  • 多转出的进项税怎么做账
  • 登陆对话框不能输入
  • qq能上,网页打不开怎么回事
  • 如何理解内容
  • win10锁屏壁纸模糊怎么回事
  • 无法启动个人热点iphone
  • windows10设备如何打开蓝牙
  • bios详细解释及作用
  • 代办营业执照费用大概多少
  • php调用图片
  • 关于javascript
  • 土地使用税若干问题的补充规定
  • php通用分页类
  • windows安装配置
  • 公司需要购买物品
  • 有限公司股权转让怎么办理流程
  • 猿人知乎
  • vue3+ts+vite
  • 营改增增值税会计处理
  • 发票开错抬头怎么进行税务处理?
  • 文化建设事业费优惠政策
  • web期末大作业源代码
  • javascript零基础
  • php二进制字符串压缩
  • 临时工享受的福利有哪些
  • 工会经费可以发购物卡吗
  • mongo db数据库
  • 公司签发银行承兑汇票的行为属于什么行为
  • 出差飞机票会计分录
  • 应交增值税是应收账款吗
  • 本年度的进项可以结转到下一年度吗
  • 企业支付的费用化的一般借款利息支出属于什么
  • 幼儿园的经费支出主要包括哪几个方面
  • 累计折旧需要分录吗
  • 汇算清缴费用调减
  • 母公司与子公司的法律关系
  • 预付加油款收到发票怎么处理
  • 企业所得税季报与年报的关系
  • 完工不拨付工程款怎么处理
  • 技术研发费用是什么意思
  • 劳务派遣证验资
  • sql server复制表数据
  • win8.1应用
  • window10桌面有白色框
  • ubuntu安装office2019
  • linux防止攻击
  • windows8怎么新建word文档
  • win7怎么开不了机
  • win10浏览器没有网络连接
  • iphone手机文件怎么传到电脑
  • windows8任务管理器在哪
  • windows识别码
  • unity加载gif
  • edit apps
  • jq cookie
  • 批处理清除保留扇区
  • unity 位图字体
  • javascript声明变量的语句
  • node的理解
  • putty自动退出
  • unity5.x游戏开发指南
  • 火车票是否出票查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设