我有一个像元组列表选项的向量
val x = Vector(
Some(List(("x",2))),
Some(List(("x",2),("y",3))),
None,
Some(List(("x",2),("z",2))),
Some(List(("x",2),("z",2))),
None)
如何从上面的矢量中获取列表
更新:
最终目的是获取列表中元素的总数(我们只有三个元素x或y或z)。
像x的总计数将返回8并且y的总计数将返回3并且z的总计数将返回4
喜欢
val totalx = x.flatten.filter ....
x.flatMap {
case Some(l) => l.filter(_._1=="x").map(_._2)
case None => List(0)}.sum
对不起,我得到了答案
x.flatten.flatten.filter(x => x._1 == "y").map(x => x._2).sum
使用flatten来删除none然后再次使用flatten来使所有元组变平,然后过滤并总结