Python库函数将函数重新应用到其自身的输出,直到输出保持不变?

时间:2018-12-05 18:43:47

标签: python

某些算法最好通过将函数重复应用于其自身的输出来执行。

在我的示例中,它将删除匹配的字母对。

例如,如果您有字符串ztWqqWtUU

remove_pairs('tWqqWtUU') -> 'ztWWt'
remove_pairs('ztWWt') -> 'z'
remove_pairs('z') -> 'z'

很显然,这可以循环编码,从而记下“最后一个值”并检查其是否已更改。但是有图书馆可以帮我吗?

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

def remove_all_pairs(string):
    new_string = remove_pairs(string)
    if new_string == string:
        return new_string
    else:
        return remove_all_pairs(new_string)

这将为您提供所需的递归。