我做了一些研究,发现List.zip函数需要两个列表作为参数,并返回一个元组列表,但是如何将一个列表转换成元组列表呢?
let rec combinePair xs =
match xs with
| [] -> []
| [x1] -> []
| x1::x2::x3::xs -> [(x1, x2)]
| x1::x2::xs -> [(x1, x2)]
如果列表中存在奇数个元素,则应删除最后一个元素;如果存在偶数个元素,则应将它们返回为元组列表。例如:
combinePair [x1; x2; x3; x4] = [(x1, x2); (x3, x4)]