过滤掉列表列表中的空字符串

时间:2015-09-25 19:43:24

标签: list function haskell filter

目前我有这个功能:

removeNull strList = filter (not . null) strList

但是我需要使用map(我假设)将它应用到列表列表中,但是我遇到了类型错误。

在GHCi中,函数会正确过滤:

removeNull ["i", "", "b"]
["i","b"]

但这并没有过滤:

removeNull [["i", "", "b"], ["i", "", "b"]]
[["i","","b"],["i","","b"]]

1 个答案:

答案 0 :(得分:7)

只需使用map将过滤器应用于每个子列表,例如

removeNull strList = map (filter (not . null))  strList
                   //^^^ See here