Articles of recursión de

Disminuir recursivamente una lista por 1

Pregunta de tarea muy rápida y fácil. Lo tengo funcionando bien, pero creo que hay una mejor forma de hacerlo Una forma más pythonica. Aquí está mi código para disminuir recursivamente cada elemento de una lista en 1. l = range(30) def recurseDecrMap(l, x = []): if len(l) == 0: return [] else: x.append(l[0] -1) […]

Vectorizar un cálculo de descuento numpy

Un término común en finanzas y aprendizaje de refuerzo es la recompensa acumulada descontada C[i] basada en una serie de tiempo de recompensas crudas R[i] . Dada una matriz R , nos gustaría calcular C[i] satisfaciendo la recurrencia C[i] = R[i] + discount * C[i+1] con C[-1] = R[-1] (y devuelve la matriz completa C […]

Caminar / iterar sobre un diccionario nested de profundidad arbitraria (el diccionario representa un árbol de directorios)

Estoy casi seguro de que hay una solución simple para esto, pero he pasado horas leyendo y releyendo el mismo conjunto de resultados relacionados que no responden a mi problema. Contexto de esta pregunta (incluido para completar, pero siéntase libre de omitir esto) Esto surgió porque quiero que un usuario pueda seleccionar un grupo de […]

DotDict Recursivo

Tengo una clase de utilidad que hace que los diccionarios de Python se comporten de alguna manera como objetos de JavaScript en cuanto a obtener y establecer atributos. class DotDict(dict): “”” a dictionary that supports dot notation as well as dictionary access notation usage: d = DotDict() or d = DotDict({‘val1′:’first’}) set attributes: d.val2 = […]

Python: Decapado de objetos altamente recursivos sin usar `setrecursionlimit`

He estado recibiendo RuntimeError: maximum recursion depth exceeded al intentar decapar un objeto de árbol altamente recursivo. Al igual que este autor de la pregunta aquí . Resolvió su problema al establecer el límite de recursión más alto con sys.setrecursionlimit . Pero no quiero hacer eso: creo que es más una solución que una solución. […]

Backback de N-queen en Python: ¿cómo devolver soluciones en lugar de imprimirlas?

def solve(n): #prepare a board board = [[0 for x in range(n)] for x in range(n)] #set initial positions place_queen(board, 0, 0) def place_queen(board, row, column): “””place a queen that satisfies all the conditions””” #base case if row > len(board)-1: print board #check every column of the current row if its safe to place a […]

¿Algoritmo recursivo funciona sin statement de retorno? (Corre muy rápido)

Intenté implementar la combinación de ordenación en Python. De alguna manera, este fragmento de código se ejecuta correctamente (y bastante rápido), pero no sé por qué: no hay una statement de retorno en mergeSort () from sys import stdin def mergeSort(A): if len(A) > 1: m = int(len(A)/2) L = A[:m] R = A[m:] mergeSort(L) […]

Contando las vocales en una cuerda usando la recursividad

Entiendo que la recursión es cuando una función se llama a sí misma, sin embargo, no puedo averiguar cómo hacer que mi función se llame a sí misma para obtener los resultados deseados. Necesito simplemente contar las vocales en la cadena dada a la función. def recVowelCount(s): ‘return the number of vowels in s using […]

Función de recursión en Python

Considera esta recursión básica en Python: def fibonacci(number): if number == 0: return 0 elif number == 1: return 1 else: return fibonacci(number-1) + fibonacci(number-2) Lo que tiene sentido de acuerdo con la función (n-1) + (n-2) de la serie Fibonacci. ¿Cómo ejecuta Python la recursión que contiene otra recursión no dentro de la misma […]

¿Puede Python generar un número aleatorio que excluya un conjunto de números, sin usar recursión?

Miré los documentos de Python (es posible que haya entendido mal), pero no vi que hubiera una forma de hacerlo (ver más abajo) sin llamar a una función recursiva. Lo que me gustaría hacer es generar un valor aleatorio que excluya los valores en el medio. En otras palabras, Imaginemos que quería que X fuera […]