位置: 编程技术 - 正文

详解Python迭代和迭代器(python中迭代例子)

编辑:rootadmin

推荐整理分享详解Python迭代和迭代器(python中迭代例子),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python迭代器详解,python的迭代,python迭代算法举例,python的迭代,python迭代算法举例,python迭代算法举例,python中什么叫迭代,python中的迭代法,内容如对您有帮助,希望把文章链接给更多的朋友!

我们将要来学习python的重要概念迭代和迭代器,通过简单实用的例子如列表迭代器和xrange。

可迭代

一个对象,物理或者虚拟存储的序列。list,tuple,strins,dicttionary,set以及生成器对象都是可迭代的,整型数是不可迭代的。如果你不确定哪个可迭代哪个不可以,你需要用python内建的iter()来帮忙。

iter()为list返回了listiterator对象,为dictionary返回了dictionary-keyiterator对象。类似对其他可迭代类型也会返回迭代器对象。

iter()用在自定义的类型会怎样呢?我们先自己定义一个String类:

那么,st是可迭代的吗?

你可能会有几个问题要问:

怎么让自定义的类型可迭代?iter()究竟做了些什么?让我们补充String类来找找答案

在String类中需要一个'__iter__'方法把String类型变成可迭代的,这就是说'iter'内部调用了'iterable.__iter__()'

别急,不是只有增加'__iter()'方法这一种途径

‘itr'也会调用'iterable.__getitem__()',所以我们用'__getitem__'方法让String类型可迭代。

如果在String类中同时使用'__iter__()'和'__getitem__()',就只有'__iter__'会起作用。

自动迭代

for循环会自动迭代

我们可以不用for循环来实现吗?

这样做对list和string是管用的,但对dictionary不会奏效,所以这绝对不是python式的迭代,也肯定不能模拟for循环的功能。我们先看迭代器,等下回再过头来。

详解Python迭代和迭代器(python中迭代例子)

迭代器

关于迭代器先说几条………..

1. 迭代器对象在迭代过程中会会产生可迭代的值,`next()`或者`__next()__`是迭代器用来产生下一个值的方法。2. 它会在迭代结束后发出StopIteration异常。3. `iter()`函数返回迭代器对象4. 如果`iter()`函数被用在迭代器对象,它会返回对象本身我们试一试模仿for循环

前面我们看过了iterable类,我们知道iter会返回迭代器对象。

现在我们试着理解迭代器类的设计。

我们学了够多的迭代和迭代器,在python程序中不会用到比这更深的了。

但是为了学习的目的我们就到这儿。。。。

列表迭代器

你可能会在面试中写这个,所以打起精神来注意了

我们来用`list_iter`自己定义一个列表迭代器

xrange

从一个问题开始——xrange是迭代还是迭代器?

我们来看看

几个关键点:

1. `iter(xrange(num))`应该被支持2. 如果`iter(xrange(num))`返回同样的对象(xrange类型)那xrange就是迭代器3. 如果`iter(xrange(num))`返回一个迭代器对象那xrange就是迭代

它返回了rangeiterator,所以我们完全可以叫它迭代器。

让我们用最少的xrange函数实现自己的xrange

xrange_iterator

my xrange

标签: python中迭代例子

本文链接地址:https://www.jiuchutong.com/biancheng/384412.html 转载请保留说明!

上一篇:Python读大数据txt(python读取大txt文件)

下一篇:python简单实现刷新智联简历

  • 发票第一联需要保存多久
  • 研发人员的社保也要进入研发费用吗
  • 什么情况可以安排待岗
  • 小规模一季度不超过45万
  • 残次品销售账务处理
  • 小微企业增值税起征点是多少
  • 存在商业折扣的情况下,应收账款按什么金额入账?
  • 借用另一家公司名义
  • 医疗器械销售初次拜访话术
  • 短期借款占负债比例大
  • 定额发票已经取得怎么办
  • 股票印花税怎么交
  • 手撕发票的税点是多少
  • 携税宝可以全额抵扣吗
  • 公司委托法人代收款
  • 9万以下免征增值税政策
  • 营改增后,企业购进自用小轿车增值税
  • 精装房不同合同的区别
  • 行政事业单位会计基础工作规范
  • 公司出租商铺要交哪些税
  • 一般个体户核定税率多少
  • 生产成本属于什么会计要素
  • 现金预算在企业财务管理中是何地位
  • 补贴收入是否缴税
  • 广告公司进项税有哪些
  • 临时文件夹移动到c盘根目录下windows7
  • 关闭445端口方法命令
  • filecopyutils.copy上传文件
  • win11怎么更改壁纸
  • 企业自建自用房的规定
  • 补缴增值税滞纳金天数
  • php数组函数题目
  • windows7增加桌面
  • 现金折扣成本变动额
  • php实现的常规正态分解
  • 完成认证后开具什么证明
  • clh锅
  • 大学毕业后送快递
  • 固定资产支出计入什么科目
  • 百旺金赋怎么开红字发票
  • 社保年度申报错误可以调整吗
  • 兼职人员的工资需要发票吗
  • 会员卡充值赠送金额怎么做账
  • 销售返利的账务处理案例
  • 计提印花税会计分录
  • 公司注册资本减资流程
  • 银行日记账上月的余额要结转吗
  • 购买方已认证销售方作废
  • 年终奖财务是以工资形势发放,个税怎么单独计税
  • 个人所得税如果不补税会怎么样
  • 商业地产会计账务怎么做
  • 金税盘税费减免分录
  • 金蝶多核算项目怎么查一个项目下的其他项目
  • 工程公司本月没发工资
  • 公司的私账
  • 账薄的使用规则
  • mysql中日期格式
  • 64位Vista、Windows7系统IIS连接数据库故障完美解决
  • macbookair安装rosetta
  • qplus.exe是什么进程
  • 为什么要淘汰相关性高的指标
  • xp停在windows界面
  • 在mac下如何安装软件
  • windows7睡眠唤醒快捷键
  • 升级打装备的手游
  • 如何将windows 10
  • js domcontentloaded
  • shell脚本转换文件编码
  • jquery教程w3school
  • css ie8
  • unity射击游戏完整功能代码
  • 单例 python
  • Android 自定义view
  • 深入理解新发展理念,推进供给侧结构性改革 心得体会
  • 江苏税务开票申报操作
  • 湖北税务投诉电话
  • 水利优惠政策
  • 个人所得税完税证明在哪里查询打印
  • 江西省国家税务局工作人员名单
  • 年报基础数据怎么查
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设