Я пытаюсь реализовать приведенный ниже код и получаю сообщение об ошибке
msgstr "индекс вне диапазона". Я думаю, что получаю ошибку, потому что цикл for сохранил значение длины массива, в то время как я изменил его внутри самого цикла.
Я не могу понять, как решить эту проблему с помощью цикла for.
Я решил это рекурсивным способом, но это было вычислительно дорого, и я имею дело с миллиардами слов. Кстати, функция Comp возвращает пул, только если два слова имеют одно и то же предложение, поэтому я считаю, что это не влияет.
Я использую Python-3, pycharm.
def reg(array,n):
f=open(r"C:\Users\Ali\Desktop\love.txt","w")
length= len(array)
if length==1:
return array
k=0
for item in range (length-1):
k+=1
for j in range(k,length):
if Comp(array[item][0],array[j][0])>=n:
f.write(str("\n"))
f.write(str(array[item][1]))
f.write(str("\n"))
f.write(str(array[j+k ][1]))
array[k+j]=array.pop()
length-=1
break
f.close()
pass