通过scala中的公共元素合并两个元组列表
我有两张表格通过scala中的公共元素合并两个元组列表,scala,list,Scala,List,我有两张表格 [(a,b,c,d,e,f),(h,i,j,k,l,m)] [(c,d,1),(k,l,2)] 如何合并这两个列表,使最后一个是 [(a,b,c,d,e,f,1),(h,i,j,k,l,m,2)] 这个想法是在两个列表中的一个公共元素上合并您需要在这里处理数据结构。集合不能有重复的元素,因此可以使用集合轻松解决此问题 val list1 = (List("a","b","c","d","e","f"),List("h","i","j","k","l","m")) val list2
[(a,b,c,d,e,f),(h,i,j,k,l,m)]
[(c,d,1),(k,l,2)]
如何合并这两个列表,使最后一个是
[(a,b,c,d,e,f,1),(h,i,j,k,l,m,2)]
这个想法是在两个列表中的一个公共元素上合并您需要在这里处理数据结构。集合不能有重复的元素,因此可以使用集合轻松解决此问题
val list1 = (List("a","b","c","d","e","f"),List("h","i","j","k","l","m"))
val list2 = (List("c", "d", 1), List("k","l",2))'
val result = (list1._1.toSet ++ list2._1.toSet, list1._2.toSet ++ list2._2.toSet)
如果要将它们作为对象序列,则:
(result._1.toSeq, result._2.toSeq)
如果要对它们进行排序,则需要定义一个排序函数,因为字符串和整数是混合的如果一个列表中的一个项目与另一个列表中的两个或多个项目相匹配,该如何处理?是否应将其“合并”到所有匹配的项目中?到目前为止,您尝试了什么?你的问题是什么?@TzachZohar是的,它们应该合并。我对Scala没有太多经验,但我在想一些类似python的东西。pandas merge functionOP要求在公共元素的基础上进行合并,你在考虑什么??