使用单个fold_left查找列表的长度和总和

孔赫特

我一直在试图总结我的头周围fold_leftfold_right在实践中,我一直在尝试重写许多功能fold_leftfold_right增强我的知识。例如,在查找列表的平均值时,我将使用折叠计算列表的总和和长度。

let sum_l xs = List.fold_left (fun x y -> x + y) 0 xs;;
let len_l xs = List.fold_left (fun x _ -> x + 1) 0 xs;;

然后我继续寻找平均值。这是我的问题。是否可以将这两个值全部合并为一个fold_left我应该如何编写匿名函数?谢谢!

维吉尔

您只需要使用一对作为累加器:

# let sum_and_len xs = List.fold_left (fun (s,l) x -> s+x, l+1) (0,0) xs;;
val sum_and_len : int list -> int * int = <fun>
# sum_and_len [0;1;2;3];;
- : int * int = (6, 4)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 fold_left 和 bool 函数作为参数传递的插入排序

来自分类Dev

在OCaml中使用fold_left时出错

来自分类Dev

在OCaml中使用fold_left时出错

来自分类Dev

这个嵌套的 fold_left 如何工作?什么是 ~f: 和 ~init:?

来自分类Dev

如何使用for循环查找列表的总和

来自分类Dev

查找列表列表的长度

来自分类Dev

使用列表理解在列表中查找单个元素

来自分类Dev

使用Lambda函数在嵌套列表中查找总和

来自分类Dev

jquery查找和长度

来自分类Dev

C#在列表上查找和编辑单个对象

来自分类Dev

使用单个函数查找列表中的最小和最大数字而不使用驱动程序函数?

来自分类Dev

如何使用python [with Duplicates]在列表中查找序列的长度?

来自分类Dev

使用 ruby 和 selenium 查找所有元素的总和

来自分类Dev

在单个内部属性上查找匹配的数组内容和长度

来自分类Dev

在Prolog中查找列表的长度

来自分类Dev

查找列表元素的相交长度

来自分类Dev

在Android中查找列表的长度

来自分类Dev

在Prolog中查找列表的长度

来自分类Dev

可变长度元素列表的总和

来自分类Dev

列表的总数和长度

来自分类Dev

列表的总数和长度

来自分类Dev

循环总和查找和多个

来自分类Dev

使用选择总和查询来查找总和的最大值和最小值

来自分类Dev

在Prolog中查找列表中列表的长度

来自分类Dev

r - 负值游程的长度和总和

来自分类Dev

查找 GOP 结构和长度

来自分类Dev

使用列表的整数总和

来自分类Dev

查找字符串中单词的长度并查找具有该长度的单词。不使用导入和NLTK(Python)

来自分类Dev

Python中长度可变的列表列表中的元素总和

Related 相关文章

热门标签

归档