学习递归。。我试图在Python3中递归地排列一个字符串,但是我的代码生成了重复的字符串

2024-10-03 21:34:46 发布

您现在位置:Python中文网/ 问答频道 /正文

这是一个递归排列字符串的函数。老实说,我不太清楚它是怎么工作的,但我正在努力想办法。它运行得很好,但是它返回的列表包含很多重复项。如何防止创建重复项?你知道吗

def permutateRecursion(string):
    if len(string) == 1:
        return [string]
    else:
        permutation = []
        for x in permutateRecursion(string[:-1]):
            for y in range(len(string) + 1):
                permutation.append(x[:y] + string[-1] + x[y:])
        return permutation

Tags: 函数字符串in列表forstringlenreturn