首页 > 解决方案 > 从现有列表创建一组对列表

问题描述

假设我有以下列表:

val my_list = List("a","b","c","d")

我想要写一个get_set_pairs这样的函数get_set_pairs(my_list)

List(Set("a","b"), Set("a","c"), Set("a","d"), Set("b","c"), Set("b","d"), Set("c","d"))

我知道如何使用 for 循环来做到这一点。我正在尝试找到一种功能强大且有效的方法

谢谢你的帮助

标签: listscalaset

解决方案


您可以使用combinations条目并将其映射到集合:

my_list.combinations(2).map(_.toSet).toList
// List[scala.collection.immutable.Set[String]] = List(Set(a, b), Set(a, c), Set(a, d), Set(b, c), Set(b, d), Set(c, d))

推荐阅读