gpt4 book ai didi

F# 模式过滤

转载 作者:行者123 更新时间:2023-12-01 07:51:20 27 4
gpt4 key购买 nike

有人可以就如何过滤包含特定数字的列表列表给我建议。例如,如果子列表包含 2,那么我想要第三个值。

let p = [ [0;2;1]; [7;2;5]; [8;2; 10]; [44; 33; 9]]
//Filtered List: [1;5;10]
let q = p |> List.filter(fun((x,y):int List) (List.item 2 x) = 1, (List.item 3 y))

以上是我到目前为止的代码。我知道它错了,但似乎无法在代码中弄清楚。

最佳答案

s952163's答案是正确的,但是,List.choose会更好。

p
|> List.choose (fun list ->
if List.contains 2 list then
Some list.[2]
else
None
)

使用上面的解决方案,您只需遍历列表一次。

关于F# 模式过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49124030/

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