Articles of recursión

Python: ¿Cómo RECURSIVAMENTE eliminar ninguno de los valores de una estructura de datos NESTED (listas y diccionarios)?

Aquí hay algunos datos nesteds, que incluyen listas, tuplas y diccionarios: data1 = ( 501, (None, 999), None, (None), 504 ) data2 = { 1:601, 2:None, None:603, ‘four’:’sixty’ } data3 = OrderedDict( [(None, 401), (12, 402), (13, None), (14, data2)] ) data = [ [None, 22, tuple([None]), (None,None), None], ( (None, 202), {None:301, 32:302, 33:data1}, […]

os.walk () python: representación xml de una estructura de directorios, recursión

Así que estoy tratando de usar os.walk () para generar una representación XML de una estructura de directorios. Parece que estoy recibiendo un montón de duplicados. Coloca correctamente los directorios entre sí y los archivos en el lugar correcto para la primera parte del archivo xml; Sin embargo, después de hacerlo correctamente, continúa recorriendo incorrectamente. […]

Encuentra recursivamente todas las combinaciones de monedas que producen una cantidad específica

Mis disculpas por adelantado. Soy consciente de que esta pregunta se ha hecho antes con respuestas que no han producido los resultados que quiero / necesito. Estoy intentando escribir una función que haga lo siguiente en Python3: Necesito una función recursiva que devuelva todas las formas (combinaciones de monedas) que producen una cantidad específica. Esta […]

¿Por qué la lista (my_list) modifica el objeto?

Me encontré con este comportamiento peculiar accidentalmente: >>> a = [] >>> a[:] = [‘potato’, a] >>> print a [‘potato’, […]] >>> print list(a) [‘potato’, [‘potato’, […]]] ¿Por qué mecanismo la list(a) llamadas list(a) desenrolla un nivel de recursión en la cadena de representación de sí misma?

Escritura recursiva en Python 3.5+

En Python 3.5, se agregaron anotaciones de tipo (ver aquí ). ¿Hay alguna forma de definir anotaciones de tipo recursivo, como para una estructura de árbol? class Employee(object): def __init__(self, name: str, reports: List[Employee]): self.name = name self.reports = reports En lo anterior, no parece que la List[Employee] anotaciones List[Employee] funcione. Ejecutar el código da […]

¿Atravesar un diccionario nested y obtener la ruta en Python?

Tengo un diccionario como: { “checksum”: “b884cbfb1a6697fa9b9eea9cb2054183”, “roots”: { “bookmark_bar”: { “children”: [ { “date_added”: “12989159740428363”, “id”: “4”, “name”: “test2”, “type”: “url”, “url”: “chrome://bookmarks/#1” } ], “date_added”: “12989159700896551”, “date_modified”: “12989159740428363”, “id”: “1”, “name”: “bookmark_bar”, “type”: “folder” }, “other”: { “children”: [ { “date_added”: “12989159740428363”, “id”: “4”, “name”: “test”, “type”: “url”, “url”: “chrome://bookmarks/#1” } ], “date_added”: […]

Análisis de archivos Python: Construir árbol desde archivo de texto

Tengo un archivo de texto con sangría que se utilizará para construir un árbol. Cada línea representa un nodo, y las sangrías representan la profundidad, así como el nodo del que es un nodo actual. Por ejemplo, un archivo podría verse como RAÍZ Nodo1 Nodo 2 Nodo3 Nodo 4 Nodo 5 Nodo 6 Lo que […]

Recursión utilizando el rendimiento.

¿Hay alguna manera de mezclar la recursión y la statement de yield ? Por ejemplo, un generador de números infinitos (usando recursión) sería algo como: def infinity(start): yield start # recursion here … >>> it = infinity(1) >>> next(it) 1 >>> next(it) 2 Lo intenté: def infinity(start): yield start infinity(start + 1) y def infinity(start): […]

Tkinter recursión involuntaria con el comando de la barra de menú … ¿porque?

Estoy tratando de hacer una GUI de Python usando tkinter , y necesito un elemento de menú que abra otra copia de la ventana principal. Intenté hacer el siguiente código, y cuando ejecuté el progtwig, se congeló un poco y luego abrí una gran cantidad de ventanas. El último mensaje de error impreso está abajo. […]

Verificación de palíndromos con función recursiva sin cortes y bucles

Tengo una asignación, tengo que hacer un código de Python que verifique si una cadena es un palíndromo que usa una función recursiva que devuelve un valor booleano, pero no puedo usar cortes ni bucles invertidos, y no puedo cambiar la función. Formato, aquí está mi código pero devuelve True todo el tiempo. def is_palindrome(s): […]