首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python利器之迭代器

各位小伙伴们

大家周四愉快

今天要和大家探讨一个

Python的特色功能

也是Python有别于其他变成语言的

强大利器

迭代器

迭代这一个词可能有的小伙伴不理解

什么是迭代呢?

迭代可以理解成

重复工作

有好多小伙伴说

重复工作

那不是

循环吗?

没错,迭代确实是循环的一种

但是循环讲究的是

重复、往复同一个动作

而迭代除了要重复之外

可以干一些不是那么相同的工作

例如我们熟知的

斐波那契函数

就存在一种迭代的概念

好了,那么Python中的迭代器

具体有什么作用呢?

迭代器被Python用作一种

集合元素的访问方式

迭代器的特性如下:

迭代器可以记住目前访问元素的位置

迭代器从集合/序列的第一个元素开始访问,直到访问到最后一个元素为止

迭代器只能顺序访问,不能逆序访问

各位小伙伴,如果你们学习过C语言

那么迭代器有点类似C语言的指针

但是迭代器比指针要更加的

灵活

易于使用

迭代器包含两个方法

Iter()

Next()

为了让大家更加直观的看到

迭代器的工作原理

请看下面的例子

我们可以看到

使用

Iter()创建一个迭代器

之后就可以用next()方法

一个一个输出序列中的内容

好多小伙伴会问

这样有什么实际意义呢?

如果我用一个for循环控制

也是可以做到一个一个输出的呀

但是不要忘了

for循环在输出序列的时候

是连续的

也就是说,如果要取出for循环中的

某一个位置的值去做一些事情

那这些冗长的代码都要包含到一个

for循环控制块中

这将会带来很多问题

比如

代码的逻辑抽象结构过于复杂

最重要的

for循环和迭代器

所占用的系统资源是不同的

这在做海量数据计算的时候非常介意

(这些内容我们将在高级课程中阐述)

好多小伙伴可能还会有一个问题

那就是

如上面代码所示

我是知道一个序列里面有多少个元素的

那对于不知道有多少个的

我怎么知道什么时候取到最后呢?

那我们来做一个实验

把上面代码进行改进

我们可以看到

在取出第四个元素的时候

程序抛出了一个异常

#对于已经是程序设计师的你们

#就不要用“报错”这个业余词汇了

#我们业内的词语叫:异常

这下可就有的玩了

那岂不是所有的迭代器

到最后

都会有异常?

其实不是的

程序语言已经帮我们想好了

解决办法

那就是

异常的处理

这里只是先告诉大家

不要惊慌

是有办法妥善处理这些

异常的

我们将在后面讲

异常的时候

会和大家有个交代

好了,今天的课程就到这

希望大家真正理解迭代器的原理

和他存在的意义!

我们下期再见!

各位亲爱的们,如果您觉得这篇文章还不错,请进行转发,知识的进步需要共享。

如果您觉得本公众号对您来说能有点作用,请长按下方二维码进行关注!谢谢!(鞠躬)

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171221G0BNXM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券