当前位置:  开发笔记 > 编程语言 > 正文

Python中无限循环可用吗?

如何解决《Python中无限循环可用吗?》经验,为你挑选了3个好方法。

是否有可能在for循环中获得无限循环?

我的猜测是Python中可能存在无限循环.我想知道这个以供将来参考.



1> orokusaki..:

Python中无限循环的典型示例是:

while True:
    pass

要将其应用于for循环,请使用生成器(最简单的形式):

def infinity():
    while True:
        yield

这可以使用如下:

for _ in infinity():
    pass


嗯,但这是一个while循环,而不是for循环.

2> Padraic Cunn..:

要根据要求使用for循环回答您的问题,它将永远循环,因为1永远不会等于0:

for _ in iter(int, 1):
    pass

如果您想使用按第一个答案递增的数字进行无限循环,则可以使用itertools.count

from itertools import count

for i in count(0):
    ....


`iter(int,1)`是避免lambda的一种方法。

3> Jon..:

是的,请使用始终产生另一个数字的生成器:这是一个示例

def zero_to_infinity():
    i = 0
    while True:
        yield i
        i += 1

for x in zero_to_infinity():
    print(x)

也可以通过更改要迭代的列表来实现此目的,例如:

l = [1]
for x in l:
    l.append(x + 1)
    print(x)

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有