将递归函数结果保存为Python中的数组

问题描述 投票:0回答:1

我正在研究递归函数(不是从库中)来创建具有重复的排列,我发现了一些我理解的代码。我想更进一步,尝试将其另存为Numpy数组,但是我似乎无法找出将存储的排列返回到哪里的“返回”方法。请指教。

def _permutation_repeat(text, prefix, n, k):
    if k == 0: 
        print(prefix)
        return

    for i in range(n):
        new_prefix = prefix + text[i] 
        _permutation_repeat(text, new_prefix, n, k-1)


def permutation_repeat(text, k):
    _permutation_repeat(text, "", len(text), k)


permutation_repeat("ABCD", 2)

来自https://code.luasoftware.com/tutorials/coding-interview/permutations-with-repeating-characters/的代码

python arrays recursion permutation
1个回答
0
投票

您可以尝试:

def _permutation_repeat(text, prefix, n, k):
    if k == 0: 
        print(prefix)
        return np.array([prefix])

    arr = np.array()

    for i in range(n):
        new_prefix = prefix + text[i] 
        new_arr = _permutation_repeat(text, new_prefix, n, k-1)
        arr = np.concatenate([arr, new_arr])

    return arr

def permutation_repeat(text, k):
    return _permutation_repeat(text, "", len(text), k)


permutation_repeat("ABCD", 2)
© www.soinside.com 2019 - 2024. All rights reserved.