una suma promedio listas lista infinitas eliminar elemento divisores comprensión comparar haskell functional-programming list-comprehension

haskell - suma - Sublistas de una lista usando la lista de comprensión



promedio de una lista en haskell (1)

Así de simple. Quiero generar todas las sublistas de una lista usando la lista de comprensión.

es decir: getSublist [1,2,3] es [[1], [2], [3], [1,2], [1,3], [2, 3], [1,2,3]]

Gracias


Esto ya está implementado como Data.List.subsequences , pero si quiere definirlo usted mismo (para fines de aprendizaje), puede hacerlo así:

No puedes hacerlo solo con listas de comprensión, pero con cierta recurrencia se ve así:

sublists [] = [[]] sublists (x:xs) = [x:sublist | sublist <- sublists xs] ++ sublists xs

Lectura: la única sublista de la lista vacía es la lista vacía. Las sublistas de x:xs (es decir, la lista con la cabeza x la cola xs ) son todas las sublistas de xs , así como también cada una de las sublistas de xs con x de ellas.