检查列表列表是否包含两个或更多相同的元素

Tyl*_*Joe 4 haskell list filter

我需要编写一个函数来检查列表是否有两个或多个相同的元素并返回true或false.

例如,[3,3,6,1]应该返回true,但[3,8]应该返回false.

这是我的代码:

identical :: [Int] -> Bool
identical x = (\n-> filter (>= 2) n )( group x )
Run Code Online (Sandbox Code Playgroud)

我知道这很糟糕,但它不起作用.我想将列表分组到列表列表中,如果列表的长度> = 2,那么它应该返回true,否则返回false.

Fro*_*rog 6

使用any获得布尔结果.

any ( . . . ) ( group x )
Run Code Online (Sandbox Code Playgroud)

不要忘记对列表进行排序,group对连续元素进行处理.

any ( . . . ) ( group ( sort x ) )
Run Code Online (Sandbox Code Playgroud)

您可以使用(而不是.null.尾部)作为谓词,作为选项之一.