OCAML:将列表(Int * Float)转换为浮点列表

时间:2018-11-25 02:32:33

标签: list int ocaml

我想做的是将[1,3.0,5,5.5,8]之类的列表转换为[1.0,3.0,5.0,5.5,8.0]。 问题是我不知道列表,所以我不能使用float_of_int,因为它不适用于已经是float的元素。

1 个答案:

答案 0 :(得分:3)

您的标题(基本上)是(int * float) list。但是,您的示例列表(校正OCaml语法)是不可能的。 OCaml中没有包含一些浮点数和一些整数的列表。列表中的所有元素必须具有相同的类型。

如果您确实有(int * float) list,则它们看起来像这样:

[(1, 1.5); (2, 3.8); (3, 8.9)]

每个元素都是一个带int和float的对。因此,使用相同的代码轻松处理它们。