【发布时间】:2017-11-14 21:09:19
【问题描述】:
我在嵌套 for 循环和正确使用 yield 时遇到问题。
问题是如果我有两个 List[(Int,Int)] 形式的列表
val ls = (1,5)::(3,2)::(5,3)::Nil
val ls_two = (1,9)::(5,9)::(6,7)::Nil
现在我想创建第三个列表,仅将键和所有列表的第二个 int 组合起来,这样结果就是
val result = (1,5,9)::(5,3,9)::Nil
我已经尝试了一些类似的变体,但似乎都不起作用
val result = for(i <- ls) {
for(j <- ls_two) {
if(i._1 == j._1) yield (i._1,i._2,j._2)
}
}
我尝试将 yield 放在 for 循环的末尾,如果我用 println 替换 yield 似乎可以工作,但我不确定如何使用 yield。
另外,如果您有更实用的方法来解决这个问题,我们将不胜感激,谢谢!
【问题讨论】:
标签: scala functional-programming