一個時髦的標題也許,但我遇到了下列問題:給定一個(A * B)列表,返回(A * B列表)名單
鑑於(a * b) list
類型的列表,我想創建一個類型爲(a * b list) list
的新列表。舉例:
給定列表let testList = [(1,"c");(2,"a");(1,"b")]
,我的函數應該返回[(1, ["c";"b"]; (2, ["a"])]
。
我有以下的,但我對如何繼續有點卡住:
let rec toRel xs =
match xs with
| (a,b)::rest -> (a,[b])::toRel rest
| _ -> []
您可以使用''List.groupBy'' – Gustavo