Я пытаюсь улучшить скорость моего кода на Python. Для большого набора данных требуется много времени. Есть ли лучший способ сделать это с более высокой скоростью?Улучшение скорости вложенного цикла
for i in range(0,len(nodes)):
fragment = nodes[i]
for l in range(0, length1):
fragment1 = Text[l:int(l)+int(k)]
count = [0]*gen_len
for j in range(0, gen_len):
if fragment[j] != fragment1[j]:
count[j] = count[j]+1
if j == (gen_len-1):
if int(sum(count)) <= int(Num_mismatches):
count2[i] = count2[i]+1
result2[i] = fragment
result.append(fragment)
if count2[i] > maxval:
maxval = count2[i]
Я голосующий, чтобы закрыть этот вопрос как не по теме, потому что он принадлежит кодовому обзору. – TigerhawkT3
Вы можете использовать 'pypy', если у вас нет зависимостей от расширений C или' scipy'. –
Является ли это python2.x? Если да, вы можете увидеть приличное ускорение, если вы перевернете вложенный «диапазон (0, ...)» на «xrange (0, ...)», чтобы избежать создания целой группы списков отбрасывания. – mgilson