我正在寻找一种方法来按F#中的元素求和两个序列.
例如,如果我有这两个序列:
let first = seq [ 183.24; 170.15;174.17]
let second = seq [25.524;24.069;24.5]
Run Code Online (Sandbox Code Playgroud)
我想得到以下结果:
third list = [208.764;194.219;198.67]
Run Code Online (Sandbox Code Playgroud)
实现这一目标的最简单或最好的方法是什么?
你可以使用这个功能zip:
let third = Seq.zip first second |> Seq.map (fun (x, y) -> x + y)
Run Code Online (Sandbox Code Playgroud)
它将创建一个带有元组的新序列,其中第一个元素来自first第二个元素second,然后您可以映射并应用两个元素的添加.
简单的方法 - 使用 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
Run Code Online (Sandbox Code Playgroud)