zoukankan      html  css  js  c++  java
  • Python的Iterator可以同时打印信息

    Python的Iterator可以同时打印信息

    Updated: May 12, 2020 5:58 PM

    今天看到一个Python Iterator的高级用法,之前并不知道,孤陋寡闻了。

    def my_gen():
       for i in range(10):
           print(f"This is {i}")
           yield i
    
    

    上面这个iterator会在每次循环过程中打印信息,但是返回值依然是i。

    也就是说,

    b = np.linspace(0, 100, num=10)
    a = my_gen()
    for i in a:
        print(b[i])
    

    的输出结果是

    This is 0
    0.0
    This is 1
    11.11111111111111
    This is 2
    22.22222222222222
    This is 3
    33.33333333333333
    This is 4
    44.44444444444444
    This is 5
    55.55555555555556
    This is 6
    66.66666666666666
    This is 7
    77.77777777777777
    This is 8
    88.88888888888889
    This is 9
    100.0
    

    用于indexing的参数依然是yield i中的i,与附加的打印操作无关。这样的iterator特别适合有verbose的情况,可以一般循环一边打印进度。

  • 相关阅读:
    php中的_GET和_POST
    CSS中的特殊符号
    Nginx简介
    php获得时间
    php中定义类
    AcWing 803. 区间合并
    AcWing 826. 单链表
    AcWing 2816. 判断子序列
    AcWing 790. 数的三次方根
    AcWing 802. 区间和
  • 原文地址:https://www.cnblogs.com/yaos/p/14014109.html
Copyright © 2011-2022 走看看