【发布时间】:2014-10-27 21:25:26
【问题描述】:
我不知道如何从元组列表中删除所有重复项 例如 [(1,2),(2,1),(5,2),(5,6)]
这里的副本是 (2,1)(与顺序无关)。我只想删除其中一个重复项,我该怎么做?
symEq :: Eq a => (a,a) -> (a,a) -> Bool
symEq (x,y) (u,v) = (x == u && y == v) || (x == v && y == u)
removeDuplTuples :: Eq a => [(a,a)] -> [(a,a)]
removeDuplTuples = nubBy symEq
这是我阅读的一些代码,但我认为它并不完全相关
【问题讨论】:
-
在这种情况下,我希望 (2,1) 重复
-
你试过运行那个代码吗?
-
是的,它返回一个错误,说 nubBy 是一个未定义的变量
-
nubBy在Data.List包中,需要导入才能使用。 -
@ThreeFx 为什么这么快?
标签: list haskell duplicates tuples