如何删除haskell中列表的子列表

时间:2014-03-18 16:11:31

标签: list haskell sublist

我需要的是以下

deletesub:: [Int]->[Int]->[Int]

例如,

deletesub [2,1,4] [3,1,32,5,2,43,7,4] = [3,32,5,43,7]

我在hoogle使用签名搜索但没有搜索:/

2 个答案:

答案 0 :(得分:9)

尝试

deletesub lst = filter (`notElem` lst)

答案 1 :(得分:7)

当我搜索hoogle [Int] -> [Int] -> [Int]时,我得到第5个结果(\\),这是列表差异运算符。如果我搜索Eq a => [a] -> [a] -> [a],那么这是第一个结果。这就是你要找的东西吗?请记住[1, 2, 3, 1] \\ [1, 2] == [3, 1],它只会从第一个列表中删除第二个列表中每个元素的第一个匹配项。