方列出的清单 - ocaml的(Square a list of lists - ocaml)

2019-10-18 01:40发布

我知道如何广场列表的元素,但如何在名单列表方?

坊名单我可以使用,例如一个元素:

List.map (fun x -> x*x) [1; 2; 3];;

如何做到这一点上列出的名单?

[[1; 2]; [2; 3]]  --> [[1; 4]; [4; 9]]

要么

[[1; 2; 3]; [4; 2; 0]] --> [[1; 4; 9]; [16; 4; 0]]

例如。

谢谢

Answer 1:

let square = fun x -> x * x;;
(* val square : int -> int = <fun> *)

List.map square;;
(* - : int list -> int list = <fun> *)

List.map (List.map square);;
(* - : int list list -> int list list = <fun> *)

List.map (List.map (fun x -> x*x)) [[1; 2]; [2; 3]];;
(* - : int list list = [[1; 4]; [4; 9]] *)


文章来源: Square a list of lists - ocaml
标签: list ocaml