我的列表包含随机字母..
def similarity(out_list):
i=0
count=0
while i<len(out_list):
if out_list[i][-1]==out_list[i+1][-1]:
count+=1
return similarity(out_list[i][:-1]) + count
elif out_list[i][-1]!=out_list[i+1][-1]:
return similarity(out_list[i][:-1])
i+=2
out_list=["ABABA","ACA","AGAGA","AAVA","XBX","ARAA","AADA","AAA","BABAB","ABA"]
similarity(out_list)
在我的代码中,我试图找出第一个和第二个,第三个和第四个等列表元素之间的区别。
然而,由于我的函数是递归的,i的值总是0,我无法控制其他元素,我找不到差异..
对于ABABA和ACA,差异为3,因为在同一指数的两个单词中,第一个A和第三个A是相同的。所以差异5-2 = 3
我的代码需要进行哪些更改?谢谢。
答案 0 :(得分:0)
考虑将i作为参数传递到递归函数中,而不是在函数的最开始将其设置为0。很可能你也想做类似的事情。