是否有可能在Python中打破 for 循环而没有 break 命令?
我问这个问题是为了将它与C ++ for循环进行比较,实际上每次检查一个条件。
即。可以在C ++中打破for循环,如下所示:
for(int i=0; i<100; i++)
i = 1000; // equal to break;
是否有可能在Python中做同样的事情?
for i in range(0,100):
i = 10000 // not working
答案 0 :(得分:6)
Python的“for”实际上是“for each”,与iterables一起使用(不是循环条件)。
相反,您可以使用while语句检查每次传递的循环条件:
i = 0
while i < 1000:
i = 1000
另一种方法是使用与break语句配对的if语句来终止循环:
for i in range(1000):
if i == 10:
break
答案 1 :(得分:1)
为此目的使用while
循环:
i = 0
while i < 100:
i = 1000
答案 2 :(得分:1)
不,for
在Python中不起作用。 for
遍历列表(在本例中)或其他容器或可迭代。 for i in range(0, 100)
并不意味着“在i
大于或等于100”之前“增加i
”,这意味着“将i
设置为这100个项目列表中的连续项目直到列表用尽。“
如果i
为50,那么无论您将i
设置为什么,列表中的下一项仍然是51。
break
更好。
答案 3 :(得分:0)
这不起作用(正如您所注意到的)。原因是,原则上,您正在迭代升序数列表的元素(这是否真的取决于您是否使用python 2或3)。您可以随时使用'break'关键字来摆脱循环,但过度使用它可能会使您难以遵循代码。
答案 4 :(得分:0)
你可能不得不接受break语句:
http://docs.python.org/tutorial/controlflow.html
for i in range(0,100):
print i
if i == 10:
break