删除列表中的空白条目

时间:2016-02-26 08:34:38

标签: haskell

假设我在GHCI中声明了一个变量

let a = ["hello","goodbye","","sup","bye","hi","cat","dog"]

我想从列表中删除那个讨厌的“”。根据我的理解,我应该能够使用dropWhile这样做,就像这样

dropWhile null a

但这并没有消除讨厌的“”。为什么是这样?我该如何解决这个问题?

啊,现在我明白了。我完全误解了dropWhile是如何工作的。那么为了使这个问题有所不同 - 如何删除列表中的空白条目?

1 个答案:

答案 0 :(得分:9)

当给定谓词为True时,

dropWhile会删除元素。 null "hello"False,因此,它应该放弃任何东西。

您可能正在寻找filter

Prelude> filter (not . null) ["hello","goodbye","","sup","bye","hi","cat","dog"]
["hello","goodbye","sup","bye","hi","cat","dog"]