gpt4 book ai didi

ocaml - 在列表中两两迭代值

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

有没有办法用两个值遍历一个列表?像这样的东西:

let my_list : int list = [1;2;3;4;5;6;7];;

let iterate_by_two elem1 elem2 =
if elem1 < elem2 then Printf.printf "True"
else Printf.printf "False"
in List.iter iterate_by_two my_list;;

List.iter 只接受一个参数为元素的函数。还有其他我应该研究的功能吗?

最佳答案

您可以使用 List.iter2,它使用您的列表和它自己的尾部并行迭代两个列表。

如果列表具有不同的长度,它会抛出异常,这里就是这种情况,因为尾部显然短了一个元素,但 OCaml 中的异常很容易捕获,所以这不是问题。

try
List.iter2 iterate_by_two my_list (List.tl my_list)
with Invalid_argument _ -> ()

关于ocaml - 在列表中两两迭代值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21500019/

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