如何在ocaml中访问列表中的最后一个元素

詹姆斯·诺塔罗

我知道当使用ocaml模式匹配时,可以使用h::t当使用h时,h表示列表中的第一个元素,而t表示列表中的其余元素。是否可以使用这种相同类型的匹配来获取列表中的最后一个元素。因此,t将引用最后一个元素,h将引用列表的其余部分。

一个有用的代码示例是

let rec remove x y = match y with
  [] -> x
| h::t -> remove (remove_element x (get_last y)) h
;;
杰弗里·斯科菲尔德

不,没有匹配列表结尾的模式。在OCaml中,它不是一个吸引人的结构,因为它需要线性时间才能找到列表的结尾。OCaml模式匹配应该是快速的。

您可以反转列表并匹配反转列表的开头。这只是一个比查找列表结尾慢的常数。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在python列表中从最后到第一个访问所有列表元素

如何访问包含列表作为值的字典中列表值中的最后一个元素

访问小标题列表中的最后一个元素

如何在列表理解中修改Python列表的最后一个元素?

如何在Python中以不同的方式对待列表中的最后一个元素?

如何在 Python 中删除列表的最后一个元素中的字符?

如何在颤动中删除列表最后一个元素的填充?

如何在python中删除编号列表的最后一个元素的尾随换行符?

如何在R中循环的最后一个元素之后追加到列表?

如何在Scala中递归获取地图中包含的每个列表的最后一个元素?

(Javascript)访问Firebase RealtimeDatabase中列表中的最后一个元素

如何在python中串联列表,但如果元素相等则仅保留相邻列表的最后一个或第一个元素

如何在 OCaml 中创建一个接受列表和谓词的函数,然后返回不满足谓词的元素?

能够仅访问Python Unicode字典中列表的最后一个元素

如何从python复制列表列表而没有每个列表中的最后一个元素

如何在具有多个条件的单独元组列表中减去最后一个数字/元素?

如何在 R 中列表的每个向量(不同长度)中附加第一个和最后一个元素,而不会使代码变慢?

如何获取R中列表的每个元素的最后一个子元素

Python-如何删除列表列表中的最后一个元素?

如何在OCaml中创建一个字典,将第一个列表中每个元素的出现次数与第二个列表中的每个元素相关联?

从列表列表的最后两个列表中删除最后一个元素

如何根据python中的最后一个元素找到列表列表中的前3个列表?

将最后一个元素放在列表Erlang中

Scala列表中的最后一个元素?

方法不会替换列表中的最后一个元素

获取f#中列表的最后一个元素

获取Scheme中列表的最后一个元素

更改列表中的最后一个元素

列表中的Prolog递归,最后一个元素