list - 列表中最后一个元素的值

标签 list f# reverse tail

如何获取列表的最后一个元素的值?我注意到List.hd(或.Head)返回一个项目,而List.tl(或.Tail)返回一个List。

是Rev List和获得HD的唯一方法吗?谢谢。

最佳答案

试试这个功能。它使用递归,尽管由于它是尾递归,所以无论如何它都会优化迭代。无论如何,它最有可能比反转整个列表更快(使用List.rev)。

let rec last = function
    | hd :: [] -> hd
    | hd :: tl -> last tl
    | _ -> failwith "Empty list."

但是,Pavel Minaev的答案绝对值得考虑。但是,您所请求的算法在少数情况下可能很有用,并且是完成任务的最有效方法。

关于list - 列表中最后一个元素的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1175056/

相关文章:

F# 选项...它们真的能防止空引用异常吗

ios - 以编程方式从左向右滚动UIScrollView反向

list ->> 运算符——Haskell 中的穷人循环?

loops - 循环/递归直到输入有效

f# - RavenDB 不会填充 Id 字段

python - 是否可以在 Django 项目中重新定义反向?

list - 如何获得列表的反向对?

python - 将带括号的字符串转换为嵌套列表

list - LISP 非常简单的列表题

python - 列表到混合维度矩阵