Articles of funcional progtwigción

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 […]

Equivalente de Haskell scanl en python

Me gustaría saber si hay una función incorporada en python para el scanl Haskell equivalente, ya que reduce es el equivalente de foldl . Algo que hace esto: Prelude> scanl (+) 0 [1 ..10] [0,1,3,6,10,15,21,28,36,45,55] La pregunta no es sobre cómo implementarlo, ya tengo 2 implementaciones, que se muestran a continuación (sin embargo, si tiene […]

¿Por qué progtwigr funcionalmente en Python?

En el trabajo, solíamos progtwigr nuestro Python de una manera bastante estándar OO. Últimamente, un par de tipos se subieron al carro funcional. Y su código ahora contiene muchas más lambdas, mapas y reducciones. Entiendo que los lenguajes funcionales son buenos para la concurrencia, pero ¿la progtwigción de Python realmente ayuda con la concurrencia? Solo […]

Código útil que utiliza reducir ()?

¿Alguien aquí tiene algún código útil que use la función reduce () en python? ¿Hay algún código diferente al habitual + y * que vemos en los ejemplos? Consulte Fate of reduce () en Python 3000 por GvR