if 语句在 for 循环内部或外部的复杂性

让我们比较一下:


for path in filePaths :

    if(self.module!=organizer and self.module!=decoder):

        # some code with loops

    elif(self.module==decoder):

        # some code with loops

和这个:


if(self.module!=organizer and self.module!=decoder):

    for path in filePaths :

        # some code with loops

elif(self.module==decoder):

    for path in filePaths :

        # some code with loops

哪一个是最有效的,为什么?


繁星点点滴滴
浏览 166回答 1
1回答

芜湖不芜

它们都具有 O(n) 复杂度,但后者更有效。由于self.module在循环执行期间不会更改,因此在每次迭代中检查它是没有意义的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python