在Python中打破循环

时间:2012-01-27 18:49:05

标签: c++ python loops for-loop

是否有可能在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

5 个答案:

答案 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