У меня есть словарь под названием обход. Для данного ключа у меня есть массив значений. Я хочу, чтобы рекурсивно вызывать функцию traverse столько раз, сколько у меня значений в этом массиве, каждый раз удаляя один из них.Рекурсивное вызов функции - отправить глубокую копию dict без элемента
До сих пор у меня есть это:
for i in xrange(0,length-1,1):
print ("try branch with value: " + next + " and index " + str(i))
next=(traversal[key])[i]
result=result+key[i]
#here you need to remove next from traversal
traverse(100,result,copy.deepcopy(traversal),next)
Однако, мне нужно изменить его так, что вместо глубокой копии словаря обходом, я бы посылающего глубокую копию словаря без одного из значения. Что-то вроде этого:
traverse(100,result,copy.deepcopy(del (traversal[key])[i]),next)
Любой совет, как это написать?
Я исправил отступ. – Perlnika
Как вы узнаете, как остановиться? Рекурсивным функциям нужен условный оператор, который сообщает ему, что он закончен. –
На каждом этапе рекурсии я хочу удалить один элемент из словаря с обходным путем. Когда обход пустой, у меня есть «return» в коде. – Perlnika