回答
是,使用一台发电机总是产生另一个数字: 下面是一个例子
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)
哦,这是有道理的!我现在将在Python中尝试一下。感谢您的快速回复 –
没问题,我添加了一个演示。 – Jon
在Python无限循环的典型的例子是:
while True:
pass
要应用这一个for循环,使用信号发生器(最简单的形式):
def infinity():
while True:
yield
这可以使用如下:
for _ in infinity():
pass
嗯,但这是一个while循环,而不是for循环。 –
啊,原谅我。我把它看作是“无限循环”。 – orokusaki
这完全没问题!我欣赏它,但。现在我知道while循环可以是无限的! (: –
要使用一个for循环回答你的问题的要求,这会永远循环为1永远不会等于0:
for _ in iter(int, 1):
pass
如果你想使用增加了按照第一回答数的无限循环,你可以使用itertools.count
:
from itertools import count
for i in count(0):
....
'iter(int,1)'是一种避免lambda的方法。 – DSM
@DSM,是的,谢谢,确实int默认为0 –
虽然已经有很多答案对如何for循环无限可以做,但没有回答为何很好的例子(它没有要求,不过,但仍...)
一for Python中的循环是句法糖,用于处理迭代器的迭代器对象及其方法。例如,这是典型的for循环:
for element in iterable:
foo(element)
这是什么八九不离十幕后发生的事情:
iterator = iterable.__iter__()
try:
while True:
element = iterator.next()
foo(element)
except StopIteration:
pass
的重复值对象必须有,因为它可以看出,一个next
方法返回一个元素并前进一次(如果可以的话,否则会引发StopIteration异常)。
因此,迭代器的next
方法永远不会引发异常的每个可迭代对象都有一个无限循环。例如:
class InfLoopIter(object):
def __iter__(self):
return self # an iterator object must always have this
def next(self):
return None
class InfLoop(object):
def __iter__(self):
return InfLoopIter()
for i in InfLoop():
print "Hello World!" # infinite loop yay!
- 1. pthread中可能有无限循环吗?
- 2. 布尔无限循环可能吗?
- 3. mod_rewrite可能无限循环?
- 4. Python中无限循环while循环
- 5. python无限循环?
- 6. Python中的无限循环
- 7. 在python中嵌套循环可能吗?
- 8. 可以检测到无限循环吗?
- 9. while循环python导致无限循环
- 10. 所有无限循环都不好吗?
- 11. 循环中可能有多个键吗?
- 12. 可能会导致无限循环?
- 13. 我可以制作一个无限循环的python程序吗?
- 14. 有条件的无限python循环
- 15. 无限while循环Python
- 16. 无限循环,当在Python
- 17. Python:无限循环和GUI
- 18. Python,预测无限循环
- 19. javascript中的排序函数有可能导致无限循环吗?
- 20. python无限循环和time.sleep()有什么不对吗?
- 21. 无限循环功能?
- 22. 如何使用while循环没有无限循环(python 2.7)
- 23. python中的无限循环 - 为什么?
- 24. Python - RunSimulation函数中的无限循环
- 25. Tkinter python代码中的无限循环
- 26. Python中的无限循环和递归
- 27. Python:避免__getattribute__中的无限循环
- 28. Python中的无限循环错误
- 29. Python:无限循环中的多线程
- 30. 有可能循环javascript函数id吗?
我一直在寻找类似的东西,发现这个:https://stackoverflow.com/questions/9884213/looping-from-1-to-infinity-in-python –