可能重复:
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")
)
答案 0 :(得分:2)
for {
a <- List("abc","def")
b <- List("gh", "ij", "kl")
c <- List("mnop")
} yield List(a, b, c)