有没有一种方法可以将for循环的效率与列表理解的“循环”进行比较?他们会一样吗?

问题描述

我没有问实际的计算时间。

在嵌套的for循环中,您可以计算进入最内部的for循环的次数,并以此方式衡量效率。

可以通过列表理解吗?

我的实际代码可能有帮助,也可能没有帮助。

嵌套循环:--------------------------------

    scanWindowSize = len(B) - 1
    mylist = []
    loopsteps = 0
    
    for scanWindowSize in range(len(B),-1):
        for i in range(len(B) - scanWindowSize + 1):
            if B[i:i + scanWindowSize] in C:
                mylist.append([B[i:i + scanWindowSize]])
    
    
                loopsteps += 1
    
    if len(mylist) > 0:
        break

列表理解嵌套在For循环中:-----------------

    for scanWindowSize in range(len(B),-1):
        mylist = [B[i:i + scanWindowSize] for i in range(len(B) - scanWindowSize + 1) if B[i:i + scanWindowSize] in C]
        if mylist:
            break
  • 代码将字符串B的子字符串与字符串C进行比较 查找出现的最大的一个或多个字符串 在每个字符串中,并返回该字符串或字符串的列表

外部for循环针对每个子串大小执行一次 的B(除非我们命中休息) 对于当前子字符串中的每个字符位置, 从该字符位置开始取子字符串 和当前的scanWindowSize, 并将其添加到mylist(如果它出现在C中) 将循环步长增加1以计算次数 我们进入内部for循环*

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)