Я ищу рекурсивные функции (не из библиотек) для создания перестановок с повторениями, и я нашел некоторый код, который, как мне кажется, я понимаю. Я хотел бы сделать еще один шаг и попытаться сохранить его как массив 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/