Haskell - 获取仅出现一次的项目

时间:2010-09-28 01:36:22

标签: haskell duplicate-removal

我试图找出如何创建一个只包含仅出现一次的元素的新列表。我也不能使用递归。

这是更大功能的一小部分。我试着写一个函数来获得两组的相交。基本上我把这些组合起来。然后排序。然后我想将它与集合B相结合,并摆脱该集合中的所有重复项。除非别人知道更简单的方法。

我可以使用高阶函数,但我不能使用递归。

由于

编辑: 例如:

[1,2,3,3,4,4,5,5]应该以[1,2]

出现

4 个答案:

答案 0 :(得分:2)

之前已经提出过这个问题,基本上你只想通过计算元素的数量将它们组合在一起,然后只提取计数为1的那些元素。 (可能使用'filter'

请参阅Counting unique elements in a list

答案 1 :(得分:1)

我希望这个提示足够模糊。 :)

考虑将重复元素组合在一起。

答案 2 :(得分:1)

考虑一下您用什么数据结构来跟踪每件事物出现的次数。

答案 3 :(得分:1)

怎么样:

concat $ filter (null . tail) $ group [1,2,3,3,4,4,5,5]