F#:通过分组中的一个元素放入数组中减少元组的列表 [英] F#: Reduce a list of tuples by grouping one of the elements into arrays
问题描述
我有我想组由它的元素作为一个关键的一个元组的列表。举例来说,如果我有元组名单:
I have a list of tuples which i want to group by one of its elements as a key. For example, if i had this list of tuples:
[(A,你好),(A,堆叠),(A,过),(A,流),(B,如何),(B,
你),(C,干什么)]
[(A, "hello"), (A, "stack"), (A,"over"), (A, "flow"), (B, "how"), (B, "you"), (C, "doin")]
我想在窗体上得到的结果:
I would like to get a result in the form:
[(A,[你好,堆栈,过,流]),(B,[怎么做,你]),(C,
[干什么])]
[(A, ["hello", "stack", "over", "flow"]), (B, ["how", "you"]), (C, ["doin"])]
我是新来的F#,所以我全力以赴就如何做到这一点的想法。我感谢你在前进。
I am new to F# so I am all out of ideas on how to do this. I thank you in advance.
欢呼声
推荐答案
我认为你正在使用不正确分隔符列表中的元素 - 而不是,
你需要使用;
I think you are using incorrect delimiter for list elements - instead of ,
you need to use ;
.
要得到结果使用这个片断:
To get results use this snippet:
[("A", "hello"); ("A", "stack"); ("A","over"); ("A", "flow"); ("B", "how"); ("B", "you"); ("C", "doin")]
|> Seq.groupBy fst
|> Seq.map (fun (key,groupping) -> key, (groupping |> Seq.map snd |> Seq.toList))
|> Seq.toList
这篇关于F#:通过分组中的一个元素放入数组中减少元组的列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!