【发布时间】:2019-03-06 17:49:33
【问题描述】:
我正在尝试实现下面的代码,但我收到了一个错误 “索引超出范围”。我想我收到了错误,因为 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
【问题讨论】:
标签: python loops for-loop indexing