我无法理解为什么会出现此错误。 万一我不使用if语句,错误就消失了。
这是我的代码:
def merge_the_tools(string, k):
# your code goes here
nlist=[]
nlistf=[]
lin = list(string)
for i in range(int(len(lin)/k)):
nlist.append(lin[k*i:(k*i+k)])
for i in nlist:
for j in i:
count=0
for m in range(k):
if i[m]==j:
count=count+1
if count>1:
i.pop(m)
nlistf.append(i)
print(nlistf)
if __name__ == '__main__':
string, k = input(), int(input())
merge_the_tools(string, k)
答案 0 :(得分:0)
正如另一位评论者所说,如果在迭代列表时对其进行突变,尤其是删除操作,则通常会遇到索引错误。
为避免这种情况,请尝试使用以下任一方法向后遍历列表:
reverse(list)
或
for i in range(len(list), 0, -1):