Articles of funcional progtwigción

Desafío de recursión de Python

Actualmente estoy en una introducción a Python y clase de teoría computacional, y recientemente hubo una pregunta difícil sobre el examen que simplemente no pude resolver. Implica escribir código para un progtwig que agrega números. Creo que se supone que la pregunta usa recursión. No recuerdo cómo se redactó exactamente la pregunta, pero aquí está […]

Búsqueda de la amplitud funcional

La primera búsqueda de profundidad funcional es encantadora en los gráficos acíclicos dirigidos. Sin embargo, en los gráficos con ciclos, ¿cómo evitamos la recursión infinita? En un lenguaje de procedimiento marcaría nodos cuando los golpeara, pero digamos que no puedo hacer eso. Una lista de nodos visitados es posible, pero será lenta porque usar uno […]

¿En qué se diferencia el ciclo de lectura-evaluación-impresión de Lisp del de Python?

Me he encontrado con una siguiente statement de Richard Stallman : ‘Cuando inicia un sistema Lisp, ingresa en un ciclo de lectura-evaluación-impresión. La mayoría de los otros idiomas no tienen nada comparable a leer, nada comparable a eval, y nada comparable a imprimir. ¡Qué enormes deficiencias! ‘ Ahora, hice muy poca progtwigción en Lisp, pero […]

zip_longest sin valor de relleno

Estoy buscando un punto intermedio entre las funciones zip de Python y zip_longest (del módulo itertools ), que agota todos los iteradores dados, pero no llena nada. Entonces, por ejemplo, debería transponer tuplas como tales: (11, 12, 13 ), (11, 21, 31, 41), (21, 22, 23, 24), –> (12, 22, 32, 42), (31, 32 ), […]

¿De dónde proviene el aumento de rendimiento de las implementaciones de comprensión de mapa o lista sobre la llamada a una función a través de un bucle?

Entiendo que podría ser más eficiente con la memoria en la implementación del mapa que en la forma en que podría hacerlo en un bucle. Sin embargo, veo que el uso de una función de mapa en lugar de llamar a una función que se repite en un bucle también tiene un aumento de velocidad. […]

¿Equivalente al método Seq.scan () de F # en Python?

¿Existe una función como la Seq.scan() F # en Python? Quiero hacer algún tipo de cosas cumsum() o cumproduct() sin hacer un bucle.

Cuente las hojas finales no vacías de una estructura de datos de matriz / disco de python: ¿algoritmo recursivo?

Estoy buscando una función para encontrar todos los puntos finales no vacíos de un tipo de estructura compleja de diccionario / matriz. Creo que debido a que no conozco la cantidad de arreglos nesteds o sus ubicaciones, tendría que ser recursivo, y aún no entiendo completamente esa forma de pensar. Así que para el dictado […]

¿Hay un filtro () opuesto al construido?

¿Hay una función en Python que haga lo contrario de filter ? Es decir, mantiene los elementos en la iterable que devuelve False para la callback? No se pudo encontrar nada.

¿Hay un equivalente en Python del ‘let’ de Haskell?

¿Existe un equivalente en Python de la expresión ‘let’ de Haskell que me permita escribir algo como: list2 = [let (name,size)=lookup(productId) in (barcode(productId),metric(size)) for productId in list] Si no, ¿cuál sería la alternativa más legible ? Agregado para aclarar la syntax de let: x = let (name,size)=lookup(productId) in (barcode(productId),metric(size)) es equivalente a (name,size) = lookup(productId) […]

Deteniendo una operación Reducir () a mitad de camino. Manera funcional de hacer una sum de ejecución parcial.

He estado haciendo algo de progtwigción funcional y tenía una pregunta. Tal vez me esté faltando algo, pero ¿hay alguna forma de detener una función “reducir ()” a mitad de camino? Digamos cuando llego a cierta condición? La idea de alguna manera parece anti funcional. No he visto ninguna de esas opciones en python o […]