zoukankan      html  css  js  c++  java
  • 第十三天笔记

    一、什么是迭代器 1、迭代器指的是迭代取值的工具

    2、迭代是一个重复的过程,每一次重复都是基于上一次的结果而来

    单纯的重复不是迭代

    迭代:重复+每次重复都是基于上一次的结果而进行的

    二、为何要用迭代器

    迭代器提供了一种通用的且不依赖于索引的迭代取值方式

    三、可迭代的对象iterable;但凡内置有——iter——方法的对象都称之为可迭代的对象

    可迭代的对象:str,list,tuple,dict,set,文件对象

    执行可迭代对象下的——iter——方法,返回的值就是一个迭代器对象iterator

     三、迭代器对象

    1、既内置有——next——方法的对象,执行迭代器——next——方法可以不依赖索引取值

    2、又内置有——iter——方法的对象,执行迭代器——iter——方法得到的仍然是迭代器本身

    ps:1、迭代器对象一定是可迭代的对象,而可迭代的对象却不一定是迭代器对象

    2、文件对象本身就是一个迭代器对象

    四、同一个迭代器只能完整地取完一次值

    for本质应该称之为迭代器循环

    工作原理1、先调用in后面那个对象的——iter——方法,将其变成一个迭代器对象

    2、调用next(迭代器),将得到的返回值赋值给变量名k 3、循环往复直到next(迭代器)抛出异常,for会自动捕捉异常然后结束循环

    ps:从for角度,可以分辨出但凡可以被for循环循环取值的对象都是可迭代的对象

    三、迭代器总结

    优点:1、提供一种通用的且不依赖于索引的迭代取值方式

    2、同一时刻在内存中只存在一个值,更节省内存

    缺点: 1.取值不如按照索引的方式灵活,(不能取指定的某一个值,而且只能往后取)

     2、无法预测迭代器的长度

  • 相关阅读:
    全网最全微服务架构—Spring Cloud详解,没有比这更详细的了!
    基于 Spring Cloud 的微服务架构实践指南(上)
    如何在一分钟内搞定面试官?
    成功面试宝典Java
    Spring Boot 自动装配流程
    C语言浮点数
    C语言字符串
    C语言数据类型转换
    C语言结构体
    C语言格式化输出
  • 原文地址:https://www.cnblogs.com/zhouhao123/p/9456280.html
Copyright © 2011-2022 走看看