从浮点数列表中获取第 n 个元素
Getting nth element from a list of floats
如果我有一个浮动列表:
let float_list = [1.5,2.5,3.5]
我希望从此列表中提取类似于以下内容的数字:
List.nth float_list 2
然而,return编辑的是类型 float * float 而不是 3.5。 List.nth 似乎只是 return 整数列表中的整数,我似乎无法在 https://caml.inria.fr/pub/docs/manual-ocaml/libref/List.html 中找到一个函数到 return 除整数以外的任何列表的第 n 个元素列表。
有人能帮忙吗?
OCaml 中的列表文字使用 ;
来分隔项目。 ,
用于分隔元组中的项目。所以float_list
的类型实际上是(float * float * float) list
,它只包含一个元素。
您的 float_list
不是一个浮点数列表,它是一个 float * float * float
元组列表,并且它只包含一个这样的元组。因此,除了没有您想要的类型之外,List.nth float_list 2
实际上会在 运行 时导致异常,因为 2
不是该列表的有效索引。
你要[1.5; 2.5; 3.5]
,其实就是一个浮点数列表。使用该列表 List.nth
将完全按照您的意愿工作。
如果我有一个浮动列表:
let float_list = [1.5,2.5,3.5]
我希望从此列表中提取类似于以下内容的数字:
List.nth float_list 2
然而,return编辑的是类型 float * float 而不是 3.5。 List.nth 似乎只是 return 整数列表中的整数,我似乎无法在 https://caml.inria.fr/pub/docs/manual-ocaml/libref/List.html 中找到一个函数到 return 除整数以外的任何列表的第 n 个元素列表。
有人能帮忙吗?
OCaml 中的列表文字使用 ;
来分隔项目。 ,
用于分隔元组中的项目。所以float_list
的类型实际上是(float * float * float) list
,它只包含一个元素。
您的 float_list
不是一个浮点数列表,它是一个 float * float * float
元组列表,并且它只包含一个这样的元组。因此,除了没有您想要的类型之外,List.nth float_list 2
实际上会在 运行 时导致异常,因为 2
不是该列表的有效索引。
你要[1.5; 2.5; 3.5]
,其实就是一个浮点数列表。使用该列表 List.nth
将完全按照您的意愿工作。