代码之家  ›  专栏  ›  技术社区  ›  habrewning

Python是否提供range()作为生成器?

  •  -1
  • habrewning  · 技术社区  · 2 年前

    我的意思是:

    def gen_range():
      count = 0
      while True:
        yield count
        count = count + 1 
    
    1 回复  |  直到 2 年前
        1
  •  3
  •   Riccardo Bucco    2 年前

    是的,确实如此。查看 itertools.count 内置功能。正如您可以阅读链接的文档一样,您可以设置起始编号和步骤。也允许浮点数。

    以下是您如何使用它:

    from itertools import count
    
    for n in count():
        print(n)
    

    这将打印0,1,2,3。。。(小心!除非你以某种方式迫使它停止,否则这个例子不会停止)。