Spr*_*out -1 haskell tuples list duplicates
我无法弄清楚如何从元组列表中删除所有重复项,例如[(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
Run Code Online (Sandbox Code Playgroud)
这是我读过的一些代码,但我认为它并不完全相关
您发布的代码完全相关,它正是您想要的......
让我们一步一步:
symEq 采用两个元组并检查第一个和最后一个元素是否相等或者如果彼此相对的元素相等.
nubBy只是nub使用自定义函数而不是(==).
nubBy在Data.List包中,只需import Data.List在文件的开头就可以使用它.
| 归档时间: |
|
| 查看次数: |
699 次 |
| 最近记录: |