f# - 删除 F# 中嵌套列表中的第一个元素?
问题描述
我想从嵌套列表中删除第一个元素。我刚刚了解了 List.map 和 List.filter,但我无法让它工作。
所以 [ [1;2;3]; [4;5;6] ] 变为 [ [2;3]; [5;6]
谁能提示我正确的方向?
版本 1:
let remove l =
for i in l do
printfn "i %A" i
for j in i do
printfn "%A" j
List.map (fun x -> x) j
printfn "done"
printfn "%A" (remove ([[1;2;3]; [4;5;6]]))
版本 2:
let remove1 l =
for i in l do
printfn "i %A" i
List.map (fun x -> x.[2..]) j
printfn "%A" (remove1 ([[1;2;3]; [4;5;6]]))
我知道他们俩都错了,我只是想表明我至少在尝试,而不仅仅是要求快速回答。
问候
解决方案
所以你有一个列表列表,并且想要删除每个子列表的第一个元素。如果我们假设所有子列表至少有 1 个元素,我们可以List.tail
在每个子列表上使用来获取它的尾部(即没有第一个元素的列表),然后将其用作映射到外部列表的映射器函数List.map
:
let removeFirst = List.map List.tail
是的,真的就是这么简单!
推荐阅读
- java - 无法找到或加载主类,即使很难有一个主方法
- python - 如何以 CNN 中使用的类似格式将权重保存在 .npy 文件中?
- html - 如果一个输入是有焦点的,那么如何改变 Sass 中不同类的属性呢?
- p5.js - 如何显示图像 3 秒
- c# - 从 FileResult 处理程序(操作)以 ajax 显示图像
- mongoose - Mongoose 查找并保存,希望将错误消息作为 res.json 发送
- scala - 如何在 Spark 中使用 Scala 从数据框中的单元格中提取表信息
- python-3.x - LinearSVC 参数贝叶斯优化
- django - Django下使用静态文件配置Nginx
- javascript - 在 React/Redux 应用程序中刷新页面后如何保持登录状态