gpt4 book ai didi

F# 列表中所有其他元素的总和

转载 作者:行者123 更新时间:2023-12-02 14:33:14 25 4
gpt4 key购买 nike

假设我有一个像这样的函数定义:

let sum (numbers: int list) =
// code here

有哪些可能的方法来计算数字列表中所有其他元素的总和?因此,如果输入是 [3;5;3;7] 结果是 [(3, 15); (5, 13); (3, 15); (7, 11)].

我实际上对任何解决方案都很感兴趣,尤其是那些使用函数式方法的解决方案。

谢谢

最佳答案

您可以通过对列表求和然后为列表中的每个元素 x 返回一个 (x, sum - x) 元组来简单地完成此操作:

let sum (numbers: int list) : (int * int) list = 
let s = List.sum numbers
numbers |> List.map(fun x -> (x, s-x))

let nums = [3;5;3;7]
printfn "%A" (sum nums) // [(3, 15); (5, 13); (3, 15); (7, 11)]

关于F# 列表中所有其他元素的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44568080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com