【发布时间】:2011-03-14 07:03:24
【问题描述】:
有一些集合 - 假设每个集合都是开发人员知道的一组编程语言。
{"Alice" => Set["Java", "Python", "C++"], "Bob" => Set["Ruby"], "Charlie" => Set["Ruby", "C++"]}.
我想按它们所属的集合对这些对象进行分组——在这种情况下,获取从共享某些语言知识的开发人员集合到此类语言集合的映射。输入中出现的每种语言都将在此处仅出现一次:
{Set["Alice"] => Set["Java", "Python"], Set["Alice", "Charlie"] => Set["C++"], Set["Bob", "Charlie"] => Set["Ruby"]}
此操作的类型为Hash[A, Set[B]] => Hash[Set[A], Set[B]]。 (在实践中,最有可能使用普通数组而不是集合,我在这里使用集合表示顺序无关紧要并且没有重复)
我不是在问如何编写这个操作(当然,如果你知道一种特别优雅的方式,请随时分享)——我想知道它是否有名字。它似乎很常见,但我想不出任何东西。
【问题讨论】:
标签: data-structures language-agnostic