F#替换列表中的第一个元素?

时间:2011-06-03 05:47:32

标签: list f# replace element

嘿,我正在努力学习一些f#基础知识并且磕磕绊绊。我想知道如何“替换”列表中的第一个元素。

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:4)

这是一个通用功能。如果列表非空,它将用新值替换列表的头部,否则它将返回带有替换值的单个元素列表。

let replaceHead newHead list = 
  match list with
  | _ :: tail -> newHead :: tail
  | [] -> [newHead]

答案 1 :(得分:1)

你可以'使用':: - 运算符)原始列表尾部(List.tail)的新第一个元素:

let theList = [1; 2; 3; 4]
let firstReplaced = 0 :: (List.tail a)

请注意,这会使原始列表(theList)保持不变。