差异使用递归函数python

时间:2015-12-27 15:49:24

标签: python list recursion

我的列表包含随机字母..

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

我的代码需要进行哪些更改?谢谢。

1 个答案:

答案 0 :(得分:0)

考虑将i作为参数传递到递归函数中,而不是在函数的最开始将其设置为0。很可能你也想做类似的事情。