我有一系列双精度向量:
val vectors = Seq[Vector[Double]]
我想要将序列中的所有向量相加,即:val total = vectors.sum
例如,如果我有一个包含两个向量[1,2]
和[3,4]
的序列,则结果应为[4,6]
然而,Vector
类型的sum
方法需要一个隐式的Numeric
现在我所拥有的是:val total = vectors.reduce( (one,two) => one.zip(two).map(tuple => tuple._1 + tuple._2) )
我刚接触Scala,但是我感到困惑,而且我认为这可能效率低下。
有更好的方法吗?
Seq [Vector [Double]]
还是一个Seq [(Double, Double)]
? - Michael ZajacVector(1, 2, 3)
,你确定你需要的是数据类型Vector
而不是Tuple2
吗?它们并不相同。 - Michael Zajac