У меня есть последовательность векторов двойников: val vectors = Seq[Vector[Double]]
Сумма последовательности векторов в Scala
Я хотел бы суммировать все векторы в последовательности, т.е. val total = vectors.sum
Например, если у меня есть последовательность с двумя векторами [1,2]
и [3,4]
, то результат должен быть [4,6]
Однако sum
метод Vector
типа требует неявного Numeric
.
То, что я сейчас:
val total = vectors.reduce((one,two) => one.zip(two).map(tuple => tuple._1 + tuple._2))
Я новичок в Scala, но я считаю, это сбивает с толку, и я полагаю, что это, вероятно, неэффективна.
Есть ли лучший способ сделать это?
Вы хотите 'Seq [Векторные [Double]]' или в 'Seq [(распашные, Двухместный)] '? –
Я хочу только вектор [Двойной]. Если у меня есть Seq с двумя векторами [1,2] и [3,4], тогда я хочу [4,6] в качестве результата –
Что делать, если есть «Вектор (1, 2, 3)»? Вы уверены, что 'Vector' - это тип данных, который вы хотите, а не' Tuple2'? Это не одно и то же. –