位置: 编程技术 - 正文

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)

  • 小规模合作社免税吗
  • 中国的税收制度是什么
  • 委托合同有效吗
  • 有谁用过金蝶kis云专业版
  • 活动策划费属于业务宣传费吗
  • 财务报表一季度销售大福下降
  • 小企业会计准则和一般企业会计准则的区别
  • 通信协会费入什么科目
  • 养蜂合作社怎么申请补贴
  • 企业转让无形资产使用权取得的收入应计入营业外收入
  • 铸造厂的销售废料有哪些
  • 提供应税服务的企业
  • 应收代位追偿款有没有明细科目
  • 定期定额户超过定额怎么报个税
  • 租赁的房租再出租成本怎么做?
  • 高危职业人身意外险
  • 稽查查补税款企业所得税
  • 广告宣传费用的计算方法
  • 所得税季报固定资产加速折旧表资产原值
  • 房地产企业所得税预缴
  • 银行承兑汇票盖章错误证明
  • 牛奶的增值税普通发票
  • 小规模纳税人公司注销流程及费用
  • 出售长期股权投资的相关税费
  • 股东退股会计科目
  • 用友t3新账套总账设置
  • 开红字发票后再开蓝字发票应如何入账?
  • 融资租入固定资产改建支出计入
  • 福利费不需要发票
  • PHP:oci_password_change()的用法_Oracle函数
  • php如何使用session
  • win11镜像文件怎么复制到系统U盘
  • 政府补助开票怎么申报增值税
  • PHP:pg_lo_truncate()的用法_PostgreSQL函数
  • 房地产开发公司组织架构
  • wordpress抓取网页
  • 加拿大克卢恩国家公园
  • php imagecopy
  • 实现php框架系列功能
  • php中数组的常用函数及用法
  • 无标题节啥意思
  • PyTorch 深度学习实战 | DIEN 模拟兴趣演化的序列网络
  • 消费税购置税价格一样
  • 增值税纳税申报表怎么填
  • 个人所得税转账扣除子女教育那个什么时候可以提交
  • mongodb从入门到商业实战
  • 筹建期发生的费用会计分录
  • sqlserver2008数据库可疑
  • 企业为职工支付的补充医疗保险费
  • 查看、修改mysql的用户名和密码
  • 开票限额相关规定最新
  • 固定资产盘盈影响所有者权益吗
  • 息税前利润的计算公式中的利息费用
  • sql扩展
  • 私车公用费用报销是否违规
  • 电子商务中流量的定义
  • 根据银行流水如何计算成本
  • 合适的库存产品包括
  • 亏损企业研发费用加计扣除还会退税吗
  • 个人转到公司账上的钱能开发票吗
  • 汽车三产件
  • 暂估入库后发票来不了会计分录
  • 会计报表的作用概括起来就是为报表使用者提供会计信息
  • 企业购买加油卡出售怎么做账
  • windows不兼容
  • mac配置selenium
  • centos安装rz命令
  • 电脑开机显示windows不可用
  • win8.1安装程序无法确定支持的安装选项
  • bootstrap技术教程
  • jQuery插件ajaxFileUpload使用详解
  • 杨辉三角的代码
  • iframe的高度自适应
  • javascript异步编程
  • js 实现复制到粘贴功能
  • unity怎么做触屏按键
  • 国际货运代理业务范围
  • 上饶市税务局咨询电话
  • 税控发票开票软件金税盘版发票未报送什么情况?
  • 重庆国税12316
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设