跳过单循环

时间:2012-08-09 04:27:29

标签: python

我循环遍历文件中的所有行,将每行拆分为基于空格的标记。例如,一行:circle 1 2 3将分为4个令牌,circle123

如果该行以评论(#)开头或为空,则我的tokenList也为空。如果是这种情况,我无法检查tokenList[0]等。

如果列表的大小为0,我想跳转到下一行 - for循环中的下一个循环:


       for line in self.myFile:
            tokenList = self.getTokens(line)
            if len(tokenList) == 0:
                ## ISSUE HERE
            if tokenList[0] == "shape":
                s = RayTracerShapes.Shape()
                self.scene.addShape(s)

我尝试了break,但这似乎跳出了循环,而不是结束当前的迭代。有没有办法跳出循环我进入下一个循环,而不是完全跳出for循环?

1 个答案:

答案 0 :(得分:5)

使用continue关键字。

当遇到continue时,将跳过循环体中的其余语句,并从循环顶部继续执行。

此SO问题可能会有所帮助:Example use of "continue" statement in Python?quick reference有两个简短的使用示例。

在你的情况下:

   for line in self.myFile:
        tokenList = self.getTokens(line)
        if len(tokenList) == 0:
            continue # skip the rest of the loop, go back to top
        if tokenList[0] == "shape":
            s = RayTracerShapes.Shape()
            self.scene.addShape(s)