2

可能重复:
Scala - 可以通过 for 循环多次使用 yield 吗?
两个列表的笛卡尔积

我尝试通过以下方式组合一些 Scala 列表,但到目前为止没有成功。

List (List ("abc", "def"), List ("gh", "ij", "kl"), List ("mnop") ...)

-> 结果应该是

List(
List("abc", "gh", "mnop"),
List("abc", "ij", "mnop"),
List("abc", "kl", "mnop"),
List("def", "gh", "mnop"),
List("def", "ij", "mnop"),
List("def", "kl", "mnop")
)
4

1 回答 1

2
for {
  a <- List("abc","def")
  b <- List("gh", "ij", "kl")
  c <- List("mnop")
} yield List(a, b, c)
于 2012-10-31T01:19:52.603 回答