如何以下列方式组合非对称列表

时间:2012-10-31 00:17:36

标签: list scala

  

可能重复:
  Scala - can yield be used multiple times with a for loop?
  Cartesian product of two lists

我尝试以下列方式组合一些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")
)

1 个答案:

答案 0 :(得分:2)

for {
  a <- List("abc","def")
  b <- List("gh", "ij", "kl")
  c <- List("mnop")
} yield List(a, b, c)