List 处理列表

List 处理列表,list,haskell,List,Haskell,我正试图找出如何处理这样的列表: [ [[4,6,7], [1,2,4,6]] , [[10,4,2,4], [1]] ] 这是一个整数列表的列表 我希望我的函数将这个列表作为输入,并返回列表中没有重复项的整数列表。结果应该是[4,6,7,1,2,10]。但我很难弄清楚如何穿越它 我的第一个想法是对每个整数列表分别进行处理,如下所示: 第一个=[[4,6,7],[1,2,4,6]] 第二个=[[10,4,2,4],[1]] 主函数将调用另一个函数以递归方式处理这些问题,但是当处理第二个列表时,

我正试图找出如何处理这样的列表:

[ [[4,6,7], [1,2,4,6]] , [[10,4,2,4], [1]] ]
这是一个整数列表的列表

我希望我的函数将这个列表作为输入,并返回列表中没有重复项的整数列表。结果应该是[4,6,7,1,2,10]。但我很难弄清楚如何穿越它

我的第一个想法是对每个整数列表分别进行处理,如下所示: 第一个=[[4,6,7],[1,2,4,6]] 第二个=[[10,4,2,4],[1]]
主函数将调用另一个函数以递归方式处理这些问题,但是当处理第二个列表时,该函数如何记住最终列表中的内容?我认为累加器甚至不能工作。

该列表的类型是
(Num a)=>[[[[a]]]]]
,因此您可以使用
concat
将结构展平,然后
nub
删除重复项:

nub . concat . concat $ [[[4,6,7], [1,2,4,6]], [[10,4,2,4], [1]]]
-- [4,6,7,1,2,10]


根据数据的实际结构和统计考虑,在连接之前删除内部列表中的重复项可能会更有效。

能否指定预期结果?标准库解决方案:
nub。康卡特。concat