Нужно получить список из Вариант Вектор - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть вектор опции List Tuple как

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).

как общее количество х вернулось бы 8, а общее количество у вернуло бы 3, а общее количество г вернуло бы 4

как

val totalx = x.flatten.filter ....  

Ответы [ 2 ]

1 голос
/ 16 апреля 2019
x.flatMap {
  case Some(l) => l.filter(_._1=="x").map(_._2)
  case None => List(0)}.sum
0 голосов
/ 16 апреля 2019

Извините, я получил ответ

x.flatten.flatten.filter(x => x._1 == "y").map(x => x._2).sum

использовал flatten, чтобы удалить none, а затем снова использовал flatten, чтобы получить сглаживание всех кортежей, затем отфильтровать и суммировать

...