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

    1.什么是迭代器?

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

      li =[‘a',’b',‘c',’d',‘e']

      li=['a','b','c','d','e']

      li='hello'

      

      i=0

      while i<len(li):

        print(li [ i ] )

        i+=1

      迭代器指的是迭代取值的工具,该工具的特点是可以不依赖于索引取值

    2. 为何要用迭代器

      可迭代的对象: 但凡内置有.__iter__方法的对象都称之为可迭代的对象

      迭代器的对象:既内置有.__iter__方法,又内置.__next__方法

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

      迭代对象:文件对象

    可迭代的对象====>迭代对象:调用可迭代对象内置的__iter__方法会有一个返回值,该返回值就是对应的迭代器对象

    dic={’x':1,‘y’:2,‘z':3)

    iter_dic=dic.__iter__()

    print(iter_dic)

    res=iter_dic.__next__()

    还有一种表达方式:

        iter()                               next()

    yield 关键字:只能在函数内

    #在函数内但凡包含有yield关键字,在去执行函数,就不会立刻运行函数代码了

    #会得到一个返回值,该返回值称之为生成器对象,生成器本质就是迭代器

    #总结yield:

    1.提供一种自定义迭代器的解决方案

    2.yield可用于返回值

           yield  VS   return

         相同点:都可以用于返回值

      不同点:yield可以暂停,yiedld可以返回多次值,而return只能返回值一次函数就立刻终止

    def func()

      print(’====第一次‘)

      yield 1

      print(’====第二次‘)

      yield 2

      print(’====第三次‘)

      yield 3

      print(’====第四次‘)

      yield 4

  • 相关阅读:
    python数据类型-字典的练习
    python数据类型-元祖和字典类型、hash函数
    python数据类型-字符串
    python数据类型-列表练习
    python数据类型-列表
    iOS 熟悉CASharpLayer
    iOS 点击tableView的cell,让其滚到屏幕顶部
    iOS pop动画之弹性动画的基本使用
    iOS Json解析框架之MJExtension使用详解
    iOS pop动画之衰减动画的基本使用
  • 原文地址:https://www.cnblogs.com/frank007/p/9720311.html
Copyright © 2011-2022 走看看