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

    一. 迭代器

    1.什么是可迭代器?

    除了数字和布尔值之外,其他数据类型都是可迭代对象。(字符串,列表,元组,字典,集合)

    2.可迭代协议

    2.1 可以被迭代要满足的要求就叫可迭代协议,可迭代的定义非常简单,就是内部实现__iter__.

    2.2 迭代器遵循迭代器协议:必须要有__iter__方法和__next__.

    2.3  for 循环,能循环一个可迭代对象步骤:将可迭代对象转化成迭代器。内部使用__next__方法,一个一个取值,加了异常处理功能,能取值到底后自动停止。

    2.4 a=对象.__iter__(创建一个迭代器)

    l={'k1':1,'k2':[11,33,'Ada'],'k3':'Tro','k4':('k1','k2')}
    a=l.__iter__()          #创建一个迭代器。
    print(a.__next__())         #一行一行的取值。
    print(a.__next__())
    print(a.__next__())
    print(a.__next__())
    结果:
    k1
    k2
    k3
    k4
    #字典的迭代器生成的是键。
    

      注意:迭代器的特性:1.惰性机制。2.不能从下往上走。3.一次性的,用完就没了。

    l=[1,2,3,4,'try',6,['kiss','you','godbye'],9,8]
    a=l.__iter__()
    while True:
        try:
            print(a.__next__())
        except StopIteration:
                break
    结果:

    1
    2
    3
    4
    try
    6
    ['kiss', 'you', 'godbye']
    9
    8

      

  • 相关阅读:
    Vue学习笔记之Vue指令系统介绍
    Vue学习笔记之Vue的使用
    Vue学习笔记之Vue介绍
    vim笔记
    python安装包的方式
    基本认证与摘要认证
    curl常用指令
    python优缺点小结
    环境变量的作用
    mac os、linux及unix之间的关系
  • 原文地址:https://www.cnblogs.com/Zhao159461/p/10539030.html
Copyright © 2011-2022 走看看