我正在寻找一种方法来按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]
实现这一目标的最简单或最好的方法是什么?
答案 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