0

我不是在问计算的实际时间。

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

这可以通过列表理解来完成吗?

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

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

    scanWindowSize = len(B) - 1
    mylist = []
    loopsteps = 0
    
    for scanWindowSize in range(len(B),0,-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),0,-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 中,则将其附加到 mylist C 将 loopsteps 递增 1 以计算我们进入内部 for 循环的次数*

4

0 回答 0