F#:通过分组中的一个元素放入数组中减少元组的列表 [英] F#: Reduce a list of tuples by grouping one of the elements into arrays

查看:116
本文介绍了F#:通过分组中的一个元素放入数组中减少元组的列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有我想组由它的元素作为一个关键的一个元组的列表。举例来说,如果我有元组名单:

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆