网站怎么看是谁做的,windows7系统优化工具,html5设计,阿里云服务器创建多个网站吗Python编程技巧 – 迭代器(Iterator)
By JacksonML Iterator(迭代器)是Python语言的核心概念之一。它常常与装饰器和生成器一道被人们提及#xff0c;也是所有Python书籍需要涉及的部分。 本文简要介绍迭代器的功能以及实际的案例#xff0c;希望对广大读者和学生有所帮助。…Python编程技巧 – 迭代器(Iterator)
By JacksonML Iterator(迭代器)是Python语言的核心概念之一。它常常与装饰器和生成器一道被人们提及也是所有Python书籍需要涉及的部分。 本文简要介绍迭代器的功能以及实际的案例希望对广大读者和学生有所帮助。
1. 迭代器概念
迭代器有时会被误以为可迭代对象。其实迭代器是一个对象(Object) 它可以逐个地生成一系列的值。
下面先看一个列表List的遍历示例。
lst [China,Russia,Vietnam,Korea,Germany,France,Brasil]for i in lst:print(i)执行结果如下图所示 显而易见列表是可以迭代的。但并非所有迭代器都仅仅是列表。
现实中有许多函数例如reversed会产生出非列表的迭代器。
迭代器是一种无法以现有方式直接进行索引或输出的对象。
看以下迭代器代码示例
iter1 reversed([1, 2, 3, 4])
print(iter1)执行结果如下图所示 打印输出的是该对象反向迭代器的地址并非列表的值。
上述代码可以将迭代器转换为列表然后再次输出或者做其它操作。添加下面代码到程序
print(list(iter1))执行结果如下图所示 2. 遍历迭代器
Python中的迭代器常与for循环语句一起使用。例如iter1是一个迭代器以下代码运行良好
iter1 reversed([1, 2, 3, 4])
for i in iter1:print(i, end )
执行结果如下图所示 迭代器自身具有状态信息监控机制。当迭代到达序列末尾时该迭代器将耗尽。
此时如果再次使用iter1而不重置它将不再产生任何其它值。
3. 迭代器模式
迭代器除了作为对象处理数据之外还形成了面向对象编程的一个流行模式即迭代器模式。
用设计模式广泛流行的述语来讲迭代器就是一个拥有next()和done()方法的对象后者在序列中没有其它元素时返回True.
在没有内置支持迭代器的编程语言中也许迭代器的遍历过程看起来像下面这样
while not iterator.done():item iterator.next()
# other operations to item在Python编程语言中迭代是一个特殊的特征因此这个方法有个特殊名称next, 这一方法可以通过内置的next(iterator)函数访问。
当遍历结束时迭代器协议会抛出异常StopIterator,而不是通过done方法。
技术不断演进博客也会不断创新跟进敬请关注。
喜欢就点赞哈您的认可我的动力
相关阅读
Python编程技巧 - Lambda函数Python编程技巧 - 使用字典(Dictionary)Python编程技巧 - 使用字符串Strings)Python编程技巧 - 对象和类Python编程技巧 - 使用列表ListPython编程技巧 - 转换二进制、八进制和十六进制的函数Python编程技巧 - 函数入门安装最新版Visual Studio Code来开发Python应用程序安装2023最新版PyCharm来开发Python应用程序2023最新版Python 3.12.0安装使用指南