eine Liste der Liste Gegeben:Haskell: Wie filtere ich eine Liste?
xss = [[1,2,3],[4,5,6],[7,8]]
Ich mag es von Listengröße von Rest dann filtern und dann eine Liste von Int zurück.
Hier sind meine zwei Versuche:
concat [[x | x <- xs, mod x 2 == 0] | xs <- xss, length xs > 2]
filter (\x -> mod x 2 == 0) $ concat $ filter (\x -> length x > 2) xss
Gibt es ausdrucksvollen Weg, um die gleichen, aber mit weniger Code zu tun?
'[x | xs <- xss, Länge xs> 2, x <- xs, mod x 2 == 0] '. aber die Antwort von chi ist besser, produktiver * (funktioniert für '[[1 ..]]]'). –