列表。\\不会删除列表列表中的空列表

时间:2015-11-19 14:53:31

标签: list haskell

我面临一些非常奇怪的事情:

这些代码行:

piles n =
  let
    listes2 = map (\i -> [n-i,i]) [1..(n `div` 2)]
  in ( [[n,0]] ++ (L.concat [trouveTous [l] | l <- listes2 ])) L.\\ []

生成一个列表,其中有一些[]。 由于“L. \ []”就在函数“listes”返回之前,[]如何出现在返回中?

1 个答案:

答案 0 :(得分:2)

首先,Genename Het Gene1 3 Gene2 2 xs \\ ys移除ys中第一次出现的元素,例如

xs

此外,[1,2,1,2] \\ [1] == [2,1,2] 根本不包含任何元素,因此[]不会产生任何影响:

\\ []

但是,如果要从列表列表中删除空列表,则可以使用xs \\ [] = xs -- due to (ys ++ xs) \\ ys == xs and [] ++ xs == xs

filter