IndexError: list index out of range: idk where
IndexError: list index out of range: idk where
尽管编译成功,但我收到错误:IndexError: list index out of range
该函数将一个序列和 returns 一个项目列表作为参数,其中没有任何相邻的具有相同值的元素,并保留元素的原始顺序。
我写的代码:
def fnc(l, a):
print(l)
if l[a] == l[a+1]:
del l[a]
return fnc(l, 0)
elif l[a] != l[a+1]:
return fnc(l, a+1)
elif a == len(l):
return l
def unique_in_order(txt):
list = []
for i in txt:
list += [i]
return fnc(list, 0)
感谢帮助
您不需要为了递归而做任何花哨的事情,比如使用递归。 Python 以提供多种解决问题的方法而著称,但优秀的程序员以编写简单的代码以便每个人都能理解而著称。
现在来解决你的问题。您只需要检查下一个单词是否相同,如果不相同则存储当前单词。
input_string = 'AAAABBBCCDAABBB'
# return string without next duplicates and in order
output_list = []
for char in range(len(input_string)):
if char == len(input_string)-1:
output_list.append(input_string[char])
else:
if input_string[char] != input_string[char+1]:
output_list.append(input_string[char])
output_string = ''.join(output_list)
print(output_string)
#ABCDAB
尽管编译成功,但我收到错误:IndexError: list index out of range
该函数将一个序列和 returns 一个项目列表作为参数,其中没有任何相邻的具有相同值的元素,并保留元素的原始顺序。 我写的代码:
def fnc(l, a):
print(l)
if l[a] == l[a+1]:
del l[a]
return fnc(l, 0)
elif l[a] != l[a+1]:
return fnc(l, a+1)
elif a == len(l):
return l
def unique_in_order(txt):
list = []
for i in txt:
list += [i]
return fnc(list, 0)
感谢帮助
您不需要为了递归而做任何花哨的事情,比如使用递归。 Python 以提供多种解决问题的方法而著称,但优秀的程序员以编写简单的代码以便每个人都能理解而著称。
现在来解决你的问题。您只需要检查下一个单词是否相同,如果不相同则存储当前单词。
input_string = 'AAAABBBCCDAABBB'
# return string without next duplicates and in order
output_list = []
for char in range(len(input_string)):
if char == len(input_string)-1:
output_list.append(input_string[char])
else:
if input_string[char] != input_string[char+1]:
output_list.append(input_string[char])
output_string = ''.join(output_list)
print(output_string)
#ABCDAB