Scala非常新,例如有2个列表
val list1: List[Int] = List(10,11)
val list2: List[Int] = List(1,2,3)
想要创建一个这样的列表:
List((10,1),(10,2),(10,3),(11,1),(11,2),(11,3))
我该怎么做呢? 对不起,如果以前有人询问过这个问题,请随时将答案链接给我,如果之前已经回答过,我很乐意关闭这个,谢谢。
答案 0 :(得分:0)
试一试
list1.flatMap(x => list2.map(y => (x, y)))
...对flatMap
和map
的调用组合表明for
理解也有效......
for (x <- list1; y <- list2) yield (x, y)
......可能还有其他方法。我相信在大多数情况下,编译器足够聪明,可以用等同于for
和flatMap
方法的字节代码替换map
理解,因此这两者应该是等效的性能(尽管我没有测试这个)...