从列表列表中删除空列表的每个实例

use*_*742 4 haskell list-comprehension list

我是Haskell的新手,我只是想编写一个简单的列表解析来从列表列表中删除空列表的每个实例,即输入此..

> remove ["abfwfw", "wfgwg", "", "dfw"] 
Run Code Online (Sandbox Code Playgroud)

将导致此输出...

> ["abfwfw", "wfgwg", "dfw"] 
Run Code Online (Sandbox Code Playgroud)

提前致谢 :)

Don*_*art 19

过滤器是你的朋友.

filter (not . null) ...
Run Code Online (Sandbox Code Playgroud)

或者,对于那些喜欢手动过滤的人,

[ x | x <- xs , not (null x) ]
Run Code Online (Sandbox Code Playgroud)


ДМИ*_*КОВ 11

Filter 可能会帮助你.

> filter (not . null) ["abfwfw", "wfgwg", "", "dfw"] 
["abfwfw","wfgwg","dfw"]
Run Code Online (Sandbox Code Playgroud)

我们在这里做的是使用谓词函数检查列表中的每个元素是否长度等于null (not . null) :: [a] -> Bool.

对过滤器是什么以及它们如何工作有一个很好的解释.