Ocaml 在跟踪索引时迭代列表?

Ocaml 在跟踪索引时迭代列表?,ocaml,Ocaml,我只是想知道是否有一种方法可以在遍历列表的同时在OCaml中跟踪其索引?这真的很有用——我正试图用索引值将列表中的每个元素错开。谢谢。有一个函数List.iteri,它在提供每个元素的索引的同时迭代列表。但是,如果您想生成一个新的列表,可能更适合使用list.mapi,它提供每个元素的索引并构建一个新的列表(大小相同) # List.mapi (fun index element -> element + index) [0;1;2;3];; - : int list = [0; 2; 4

我只是想知道是否有一种方法可以在遍历列表的同时在OCaml中跟踪其索引?这真的很有用——我正试图用索引值将列表中的每个元素错开。谢谢。

有一个函数
List.iteri
,它在提供每个元素的索引的同时迭代列表。但是,如果您想生成一个新的列表,可能更适合使用
list.mapi
,它提供每个元素的索引并构建一个新的列表(大小相同)

# List.mapi (fun index element -> element + index) [0;1;2;3];;
- : int list = [0; 2; 4; 6]