我不是在问计算的实际时间。
在嵌套的 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 循环的次数*