Articles of recursión

¿Puedo aplanar una lista utilizando la función recursiva y la comprensión de la lista?

Esto es solo para el autoaprendizaje del concepto y puede no tener un uso práctico. Mi pregunta es ¿Puedo usar solo la función recursiva y la comprensión de lista para aplanar un nivel desconocido de lista anidada? Si 1 es posible, ¿puedo usar la función list comprensión + lambda para obtener el mismo propósito? Hasta […]

Un algoritmo iterativo en lugar de recursivo para encontrar todas las formas de dividir n en m piezas

Necesito una función que tome dos enteros, digamos n y m, donde n> = 0 y m> = 1, que devuelve una lista de listas, que contiene todas las formas posibles de dividir n en los m enteros positivos. , [4, 7, 2] es distinto de [7, 4, 2].) Ahora, pude encontrar una pequeña función […]

Recursión hecha dentro de una variable.

Estoy un poco confundido sobre cómo el comstackdor hace la recursión si está en una variable. La única forma de explicar fácilmente la pregunta es si muestro un ejemplo. def recur_var(s1, s2): ”’Test for recursion in variables.”’ if s1 == ”: return s2 elif s2 == ”: return s1 else: test = recur_var(s1[:-1], s2[:-1]) if […]

Elimine todos los bloques nesteds, mientras deja los bloques no nesteds solo a través de python

Fuente: [This] is some text with [some [blocks that are nested [in a [variety] of ways]]] Texto resultante: [This] is some text with No creo que puedas hacer una expresión regular para esto, mirando los subprocesos en el desbordamiento de stack . ¿Hay una forma sencilla de hacer esto -> o se debe alcanzar para […]

Funciones recursivas y listas agregando / extendiendo

Este es un código muy simple en lugar de un problema mayor, pero espero poder abordarlo en partes. Empezaré por mi primer problema. def testrecurse(z,target): x=[] if z<target: z*=2 x.append(z) x.extend(testrecurse(z,target)) return x Esta es una función de prueba para ayudar a mi cerebro con la recursión. Toma un número, luego muestra todas las multiplicaciones […]

Búsqueda recursiva de Python de Dict con claves anidadas

Hace poco tuve que resolver un problema en un sistema de datos real con una combinación de dictado / lista anidada. Trabajé en esto durante bastante tiempo y encontré una solución, pero estoy muy insatisfecho. Tuve que recurrir al uso de globals() y un parámetro global temporal nombrado. No me gusta usar globals. Eso es […]

Reemplazar recursivamente los caracteres en un diccionario

¿Cómo cambio todos los puntos . para subrayar (en las claves del dict), dado un diccionario nested arbitrariamente ? Lo que intenté es escribir dos bucles, pero luego estaría limitado a diccionarios nesteds de 2 niveles. Esta … { “brown.muffins”: 5, “green.pear”: 4, “delicious.apples”: { “green.apples”: 2 { } … debe convertirse: { “brown_muffins”: 5, […]

Encuentra el segundo número más pequeño en una lista usando recursión

Sé que ha habido una pregunta sobre este tema, pero ninguna de las respuestas me ha ayudado. No necesito ayuda para implementar el código, solo necesito ayuda para clasificar el proceso recursivo para esto. Originalmente estaba pensando en volver de forma recursiva una tupla en cada nivel y comparar para encontrar el segundo valor más […]

Búsqueda binaria de recursión en Python

Tengo una lista con los números del 0-9: mylist = list(range(10)) Estoy recibiendo un error con el comando de división para obtener la mid : def binary_search(mylist, element, low, high): low=0 high= len(mylist) mid=low + (high- mymin)/2 if mid==len(mylist): return False elif mylist[mid]==element: return mid elif high==low: return False elif mylist[mid]<element: return binary_search(mylist, element, mymin, […]

Fibonacci ascendente en python usando espacio O (1)

Quiero escribir un fibonacci de abajo hacia arriba utilizando el espacio O (1). Mi problema es que la stack de recursión de Python me está limitando a probar grandes números. ¿Podría alguien proporcionar una alternativa u optimización a lo que tengo? Este es mi código: def fib_in_place(n): def fibo(f2, f1, i): if i < 1: […]