F#按元素求和两个序列

时间:2017-10-22 17:13:54

标签: f#

我正在寻找一种方法来按F#中的元素对两个序列求和。

例如,如果我有这两个序列:

let first = seq [ 183.24; 170.15;174.17]
let second = seq [25.524;24.069;24.5]

我想得到以下结果:

third list = [208.764;194.219;198.67]

实现这一目标的最简单或最好的方法是什么?

2 个答案:

答案 0 :(得分:7)

您可以使用zip

功能
let third = Seq.zip first second |> Seq.map (fun (x, y) -> x + y)

它将创建一个带有元组的新序列,其中第一个元素来自first,第二个元素来自second,然后您可以映射并应用这两个元素的添加。

答案 1 :(得分:5)

执行此操作的简便方法 - 使用Seq.map2

let first = seq  [ 183.24; 170.15;174.17]
let second = seq [25.524;24.069;24.5]
//seq [208.764; 194.219; 198.67]
let third = Seq.map2 (+) first second