举例来说,我有一组集合
scala> val a = List(Set(1, 2, 3), Set(4, 5), Set(6, 7, 8, 9))
我想生成一个包含所有可能项目组合的列表,每种组合用于列表中的每个集合(以功能方式)。例如,
List(Set(1, 4, 6), Set(1, 4, 7), ...)
最佳答案
input.foldLeft(List[Set[Int]](Set.empty)) {
case (acc, set) =>
for {
accSet <- acc
n <- set
} yield accSet + n
}