list - haskell 列表中的唯一元素

标签 list haskell

好吧,这可能是前奏,但是:是否有一个标准库函数可以查找列表中的唯一元素?为了澄清起见,我的(重新)实现是:

has :: (Eq a) => [a] -> a -> Bool
has [] _ = False
has (x:xs) a
  | x == a    = True
  | otherwise = has xs a

unique :: (Eq a) => [a] -> [a]
unique [] = []
unique (x:xs)
  | has xs x  = unique xs
  | otherwise = x : unique xs

最佳答案

我在 Hoogle 上搜索了 (Eq a) => [a] -> [a] .

第一个结果是 nub (从列表中删除重复元素)。

胡格尔太棒了。

关于list - haskell 列表中的唯一元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3098391/

相关文章:

python - 在文件中写入嵌入列表

python - TypeError : list indices must be integers or slices, 不 float

haskell - (>>=) 的执行顺序不是我所期望的

haskell - 如何让 vim 语法高亮与隐藏一起工作?

haskell - 如何避免 zipWith self 引用中的无限循环?

c# - 列表中的多个对象,C#

用于固定大小和预定义类型数据的 C++ vector 、列表或数组

list - 添加-更新 Scheme 列表中的元素

haskell - 定义了一个类型族(++);有什么方法可以证明 (vs++ us) ~ '[] implies (vs ~ ' []) 和 (us ~ '[])?

haskell - cabal 安装二进制文件的路径