获取包含唯一子列表的列表

时间:2016-11-30 09:15:39

标签: scala

我有一个列表列表,我希望列表中只包含唯一的子列表。例如,这个输入:

List((123,List(List(xxx, abc),List(xxx,abc),List(yyy,abc))),
     (333,List(List(xxx, abc),List(yyy,abc),List(yyy,abc))))

应转换为:

List((123,List(List(xxx,abc),List(yyy,abc))),
     (333,List(List(xxx, abc),List(yyy,abc))))

我试过了:

val unique = input.map(list => (list._1, list._2.distinct))

但它并没有达到预期的效果。我做错了什么?

1 个答案:

答案 0 :(得分:2)

只需在内部列表中映射并执行distinct

mainList.map { case (a, list) => a -> list.distinct }

由于您的mainList由元组组成,您还可以使用元组_2来获取元组中的列表。

mainList.map(pair => pair._1 -> pair._2.distinct)

distinct将只保留列表中的唯一元素。