Articles of Haskell

Python equivalente de Haskell (para indexar una lista)

Tengo una lista de elementos en python. No sé el número de elementos en la lista. Me gustaría añadir índices a la lista. En Haskell, podría hacer lo siguiente zip [1..] “abcdefghijklmnop” [(1,’a’),(2,’b’),(3,’c’),(4,’d’),(5,’e’),(6,’f’),(7,’g’),(8,’h’),(9,’i’),(10,’j’),(11,’k’),(12,’l’),(13,’m’),(14,’n’),(15,’o’),(16,’p’)] Ahora imagina que la cadena era de tamaño desconocido. Esto todavía funcionaría en Haskell, y la lista de enteros proporciona tantos enteros […]

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

Lista de comprensión en Haskell, Python y Ruby.

Comencé a buscar en el sitio del proyecto Euler como una forma de aprender Haskell y mejorar mi Python y Ruby. Creo que las versiones de Haskell y Python están bien, pero estoy seguro de que debe haber una forma más limpia para Ruby. No se trata de cómo puedo hacer que un idioma se […]

¿Cómo traducir esta fórmula matemática en Haskell o Python? (Fue traducido en PHP)

Estoy tratando de convertir una fórmula matemática en código PHP. Puede ver la fórmula en la respuesta aceptada aquí: Aplicar una fórmula matemática de una manera más elegante (tal vez una llamada recursiva haría el truco) . No soy un progtwigdor profesional, así que trato de traducirlo pero mis habilidades son limitadas y he encontrado […]

zipWith analógico en Python?

¿Cuál es el análogo de la función zipWith de Haskell en Python? zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]

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

Matemáticas de punto flotante en diferentes lenguajes de progtwigción.

Sé que las matemáticas de punto flotante pueden ser feas en el mejor de los casos, pero me pregunto si alguien puede explicar el siguiente capricho. En la mayoría de los lenguajes de progtwigción que probé, la adición de 0.4 a 0.2 dio un ligero error, mientras que 0.4 + 0.1 + 0.1 dio non. […]

Tal vez una especie de mónada en Python

Tratando de encontrar una manera de limpiar algunos de mis códigos. Entonces, tengo algo como esto en mi código de Python: company = None country = None person = Person.find(id=12345) if person is not None: # found company = Company.find(person.companyId) if company is not None: country = Country.find(company.countryId) return (person, company, country) Después de leer […]

Llamando funciones de Haskell desde Python

Quiero usar algunas bibliotecas de Haskell (por ejemplo, Darcs, Pandoc) de Python, pero parece que no hay una interfaz de función externa directa a Haskell en Python. ¿Hay alguna forma de hacer eso?

Algoritmo: ¿Cómo eliminar elementos duplicados en una lista de manera eficiente?

Hay una lista l . Contiene elementos de tipo arbitrario cada uno . ¿Cómo eliminar todos los elementos duplicados en dicha lista de manera eficiente? ORDEN debe ser preservado Solo se requiere un algoritmo, por lo que no se permite importar ninguna biblioteca externa. Preguntas relacionadas En Python, ¿cuál es el algoritmo más rápido para […]