【问题标题】:How to convert int list list list to (int * int) list in f#如何在 f# 中将 int list list list 转换为 (int * int) list
【发布时间】:2018-11-08 10:46:00
【问题描述】:

如果我想转换一个列表 [[[0; 5]; [1; 5]; [2; 3]]] 到一个元组列表 [(0, 5); (1, 5); (2, 3)] 在 f# 中使用 f# 或模式匹配,请问我该怎么做?

【问题讨论】:

标签: f# f#-interactive f#-data c#-to-f# f#-3.0


【解决方案1】:

我会展平列表的外层(通过连接二级列表),然后使用 map 将内层列表转换为元组:

let transform lst =
    lst
    |> List.concat
    |> List.map (function
        | [a; b] -> (a, b)
        | _ -> failwith "Incorrect list syntax")

【讨论】:

  • 感谢 dumetrulo,您的回复很有帮助。
猜你喜欢
  • 1970-01-01
  • 2013-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-26
  • 1970-01-01
  • 2018-04-28
  • 1970-01-01
相关资源
最近更新 更多