我有一个包含以下数据的列表列表
val list = List(List(“ a”,“ b”,“ c”),List(“ d”,“ e”,“ f”),List(“ a”,“ a”,“ a”))
我想讨论一下子列表的每个位置有多少个不同的数据
1->列表(“ a”,“ d”,“ a”)
2->列表(“ b”,“ e”,“ a”)
3->列表(“ c”,“ f”,“ a”)
有没有办法做到这一点?它不需要索引,但是我需要每个子列表索引的不同值的数量,结果也可能是
2 //不同的值a和d
3 //不同的值b,e和a
3 //不同的值c,f和a
正如我在对Jhonny Everson的回答(几乎正确但现在已删除)的评论中指出的那样,您可以transpose
用来获取列的列表,然后distinct
删除重复项:
scala> list.transpose.map(_.distinct.size)
res0: List[Int] = List(2, 3, 3)
如果所有列表的大小都不相同,则会抛出异常,但这可能就是您想要的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句