gpt4 book ai didi

list - F#:创建一个包含所有列表头部的列表,在列表中

转载 作者:行者123 更新时间:2023-12-03 23:03:23 26 4
gpt4 key购买 nike

我正在尝试创建一个函数,该函数采用列表 ([[]]) 中所有列表的头部。到目前为止,我已经找到了如何获取列表中所有列表的所有第一个整数,但我似乎无法将其放入同一个函数中的列表中。

let isTable (llst : list<list<'a>>) : bool =
List.forall (fun (elem : list<'a>) -> not elem.IsEmpty && elem.Length = elem.Length) llst


let a = [[1;2;3];[4;5;6]]
printfn "%A" (isTable a)

List.iter (fun x -> printfn "%A " (List.head x)) a
有人可以帮忙吗?

最佳答案

您可以使用 List.map申请 List.head您已经在每个列表中找到的。

let a = [[1;2;3];[4;5;6]]
let collectHeads l = List.map List.head l
printfn "%A" (collectHeads a) // [1,4]
不像 List.head , List.map是一个高阶函数,需要一个函数作为参数。预期的函数应该采用列表类型的元素并返回另一个元素。碰巧 List.head就是这样做的:它需要一个列表作为输入并返回它的头部作为结果元素。

关于list - F#:创建一个包含所有列表头部的列表,在列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64170510/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com