我有一些由随机字母组成的列表..
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
我的代码需要做哪些更改?谢谢。
发布于 2015-12-27 23:55:59
考虑将i作为参数传递给递归函数,而不是在函数一开始就将其设置为0。很可能你也想做一些类似的事情来计算。
https://stackoverflow.com/questions/34482044
复制相似问题