为了账号安全,请及时绑定邮箱和手机立即绑定

像C ++这样的Python中的无限for循环

像C ++这样的Python中的无限for循环

莫回无 2021-03-29 11:14:24
在其中C++我们可以编写一个无限for循环,例如for(;;)。这里有这样的语法在Python中编写无限循环吗?注意:我知道如果我写的for i in range(a_very_big_value)话,它可能会无限运行。我正在搜索类似的简单语法C++或其他任何infinite for loop用Python编写的技巧。
查看完整描述

4 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

是的,有可能。

while循环:

while True:
   ...

随着for(只是踢)循环:

from itertools import cycle    
for _ in cycle(range(1)):
    ...

无限期的cycle回报1

无论哪种情况,都取决于您以最终终止的方式来实现循环逻辑。最后,如果要实现execute-until -___循环,则应坚持使用while True,因为这是惯用的方式。


查看完整回答
反对 回复 2021-04-13
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

我从这里和这里找到答案


使用itertools.count:


import itertools

for i in itertools.count():

    if there_is_a_reason_to_break(i):

        break

在Python2中,xrange()仅限于sys.maxint,对于大多数实际目的而言可能已足够:


import sys

for i in xrange(sys.maxint):

    if there_is_a_reason_to_break(i):

        break

在Python3中,range()可以更高,尽管不能达到无穷大:


import sys

for i in range(sys.maxsize**10):  # you could go even higher if you really want

    if there_is_a_reason_to_break(i):

        break

因此,最好使用 count()


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


l = [1]

for x in l:

    l.append(x + 1)

    print(x)


查看完整回答
反对 回复 2021-04-13
  • 4 回答
  • 0 关注
  • 202 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号