zoukankan      html  css  js  c++  java
  • 迭代器

       先来看看怎么创建迭代器(字符串,列表或元组对象都可用于创建迭代器,文章中只展示列表的迭代器创建):

       

       可以看到,iter()方法用来创建迭代器,next()方法用来逐项遍历对象中的元素,且从第一项开始,直到遍历不到元素为止(不能反复,如果想重新遍历,只能重复步骤).

       那么,如果遍历不到元素,迭代器会怎么工作呢?

       

       继续执行:

       

       会发现,代码执行出现错误,提示StopIteration(停止迭代),此时迭代也随之停止。是不是有那么一瞬间觉得似曾相识,对了,for循环(迭代器当然也可以使用for循环来遍历内部元素)!

       整套迭代器的运行机制和for循环如出一辙,下面我用一段代码来展示for循环内部的运行流程吧。

       

       使用while循环作为手段,来遍历列表中的元素,当遍历为空时,抛出异常(StopIteration),执行break,退出程序。

       结合以上介绍,来总结一下迭代器的特点吧。

       * 节省内存,只能一行一行的拿出元素,节约了遍历不需要的值所需要的内存空间(迭代器中体现的不是很明显)。

       * 惰性机制,只有在访问它时,才会返回值。

       * 只能由上至下取值,不能反复。

       简要的概括介绍了下迭代器,作为python中功能很强大的一种访问对象内部元素的方法,需要好好把握其精髓,对于后面高阶内容的学习也会很有帮助。

  • 相关阅读:
    团队作业四
    团队作业五
    团队作业三
    团队作业二
    起名真麻烦
    网络桌面前景与范围文档
    PSP软件需求分析文档
    psp软件需求分析
    psp个人系统开发需求分析
    天猫网站的项目前景与文档
  • 原文地址:https://www.cnblogs.com/Earth-SmaThing/p/10110736.html
Copyright © 2011-2022 走看看