将具有共同元素的两个列表结合在一起-Scala

帕里瓦尔(Sumit paliwal)

我有2个清单,如下所述:

val L1 = List[(Int,Int,String)]
val L2 = List[(Int,Int,String)]

我想以结果列表必须具有4个元素(Int,Int,String,String)的方式在1st和2nd Int元素的基础上加入这2个列表。

val joinedList = List[(Int, Int, String, String)]

最后2个String元素将是L1的字符串和L2的字符串。

前任:-

val L1 = List((1,1,"one"), (2,2,"two"))
val L2 = List((2,2,"twice"), (3,3,"thrice"))

输出列表->

val joinedList = List((1,1,"one","--"),(2,2,"two","twice"), (3,3,"--","thrice"))

请提出一种在Scala中实现此目标的方法。

卡尔·比勒费尔特(Karl Bielefeldt)

首先,您希望将其放入Maps,因此查找起来更容易,然后可以map遍历所有键:

val L1Map = L1.map{case (x,y,z) => ((x,y) -> z)}.toMap
val L2Map = L2.map{case (x,y,z) => ((x,y) -> z)}.toMap
val allKeys = L1Map.keySet ++ L2Map.keySet

val result = allKeys map {case (x,y) =>
  (x, y, L1Map.getOrElse((x,y), "--"), L2Map.getOrElse((x,y), "--"))
}

Set结果使您无法分类如果需要List,可以将其转换回并按需要对其进行排序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将Scala中的每个n元素组合在一起?

将两个列表结合在一起

Cats Effect IO:将Scala集合与IO组合在一起

MySQL将两个结果结合在一起?

将两个 javascript 事件结合在一起不起作用

将两个输入字段的结果与JavaScript结合在一起?

将两个功能结合在一起

如何将这两个查询结合在一起?(MySQL)

将两个嵌套的SELECT与DISTINCT结合在一起?

将两个FART替换脚本结合在一起

是否将具有相同X向量的两个ggplots结合在一起使用不当/样式不好?

如何将两个具有相同键的数组组合在一起?

如何将两个具有不同行大小的数据框组合在一起?

Scala 正确使用 Try 和 Option 组合在一起

如何在同一阵列中两个元素结合在一起?

如何将两个下一个结合在一起

在Python中将两个时间序列与datetime索引的不同元素结合在一起

将两个XPath表达式与公共前缀路径结合在一起?

golang如何将这两个功能结合在一起?

如何将两个不同查询的结果与猫鼬结合在一起?

将两个单独的输入字段结合在一起使用php搜索

如何在Java android中将两个函数结合在一起

Rails将两个数组与哈希结构结合在一起

合并两个具有Employee不同属性的数组列表以创建一个新的数组列表,将两个数组列表的属性组合在一起

asp.net:如何将两个模型结合在一起以创建父级及其所有子级实体?

Scala:获取具有两个限制的列表元素

将两个SQL结果组合在一起以形成一个具有不同列名的结果集

如何在Python中将两个具有相同索引的Series组合在一起?

两个具有几乎相同操作的实体是否应该组合在一起?