1

我遍历文件中的所有行,根据空格将每一行拆分为标记。例如,一行:circle 1 2 3将被分成 4 个标记,circle, 1, 2, 3

如果该行以注释 ( #) 开头或为空,则 mytokenList也是空的。如果是这种情况,我无法检查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 循环?

4

1 回答 1

5

使用continue关键字。

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

这个 SO 问题可能会有所帮助:Example use of "continue" statement in Python? 快速参考有两个简短的使用示例。

在你的情况下:

   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)
于 2012-08-09T04:28:19.110 回答