如何将值附加到列表末尾?
let rec add lst value =
match lst with
| [] -> [value]
目前,这仅附加一个值为 x 的空列表。如何将值添加到已包含元素的列表的末尾?
最佳答案
对于简单的递归版本使用
let rec add lst value =
match lst with
| [] -> [ value ]
| h :: t -> h :: add t value
请注意,此实现不是尾递归。
但在实践中使用内置的追加运算符
let add lst value = lst @ [ value ]
或者标准函数List.append
,其参数的顺序不同。
let add lst value = List.append [ value ] lst
还值得了解的是,append 在单链接不可变列表上是一个昂贵的函数,它会创建整个列表的新副本。
关于F# 如何将元素追加到列表末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72485054/