我有一个问题,我必须操纵一个浮动列表的列表。 [[浮动]]。这些浮点数列表的长度为4.我想删除测试前3个元素的重复项,但忽略第4个元素。这是多部分问题的最后一部分,我一直在墙上敲了一会儿弄清楚如何使用它。我找不到任何有用的信息。
fixDuplicates :: [[Float]] -> [[Float]]
fixDuplcates [[]] = [[]]
fixDuplicates x = nubBy ?
答案 0 :(得分:10)
nubBy
使用一个函数来比较元素的相等性。您对等式的定义是,如果前三个元素匹配,则两个列表相等。一个简单的实现是:
fixDuplicates xs = nubBy firstThreeMatch xs
where firstThreeMatch ys zs = take 3 ys == take 3 zs