继续在python中使用else

时间:2015-04-20 10:51:17

标签: python

for ele in eles:
   for i in xrange(10):
       try:
            #do something
           break
        except:
            continue
   else:
       if some condition:
           continue
       #do something

考虑上面的代码,我知道break将打破内部for循环,第一个continue将继续内循环,第二个continue怎么办?哪个for循环会继续?

1 个答案:

答案 0 :(得分:0)

最新的continue在外部for循环中生效,如以下示例所示:

>>> for x in [1, 2, 3]:
...     for y in [4, 5, 6]:
...         print('x =', x, 'y =', y)
...     else:
...         continue
...     print('here')
... 
x = 1 y = 4
x = 1 y = 5
x = 1 y = 6
x = 2 y = 4
x = 2 y = 5
x = 2 y = 6
x = 3 y = 4
x = 3 y = 5
x = 3 y = 6

请注意"此处"从未打印过。

另外,请注意内部for循环不能以任何方式继续:当迭代器耗尽时执行else块(在我的示例中:{{1时} y的所有[4, 5, 6]已打印)并且没有执行break个语句时。因为迭代器已经耗尽,所以没有办法让它产生更多的值。