在F#中,要从列表中删除NaNs(Not a Number),可以使用List.filter函数结合Float.isNaN函数来实现。
Float.isNaN函数用于判断一个浮点数是否为NaN。List.filter函数用于根据指定的条件筛选列表中的元素。
下面是一个完整的示例代码:
let removeNaNs (list: float list) =
List.filter (fun x -> not (Float.isNaN x)) list
这段代码定义了一个名为removeNaNs的函数,它接受一个浮点数列表作为参数,并返回一个删除了所有NaNs的新列表。
在这个例子中,我们使用List.filter函数来筛选出不是NaN的元素。通过传递一个匿名函数给List.filter,我们可以指定筛选条件。在这里,我们使用Float.isNaN函数来判断元素是否为NaN,并使用not运算符取反,以便筛选出不是NaN的元素。
使用示例:
let myList = [ 1.0; 2.0; nan; 3.0; nan; 4.0 ]
let filteredList = removeNaNs myList
printfn "%A" filteredList
输出结果:
[1.0; 2.0; 3.0; 4.0]
在这个示例中,我们定义了一个包含NaN的浮点数列表myList,并调用removeNaNs函数来删除NaNs。最后,我们打印输出了删除NaNs后的列表filteredList。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云