如何获得列表的前两个元素?
例如,如果我有[1;2;3]
,我怎样才能得到前两个元素,在本例中为1和2,所以我可以对它们应用数学运算?
感觉它应该是h1::h2::t
但不确定
答案 0 :(得分:1)
好的,所以这里有一个想法,如果你想返回列表的头部,你可以List.hd list;;
想象list
是你的列表。
如果要返回列表的第二个元素,可以执行
List.hd (List.tl list) ;;
示例:
let list = [1;2;3];;
List.hd list;;
- : int = 1
List.hd (List.tl list);;
- : int = 2
当然,这是更好的方法,但这是有效的。
答案 1 :(得分:1)
let hd2 lst =
match lst with
| [] -> []
| [a] -> [a]
| a::b::t-> [a; b]
这似乎很好用。但它可能会做得更好。