将一个List元素与scala中的第二个列表列表结合在一起

时间:2019-04-15 17:43:16

标签: scala list

在scala中,我有两个列表。第一列表说L1是一维,包含学生的卷数,第二列表说L2是n维,其中包含主题的分数。基于这两个列表,我想创建第三个列表,说L3,它采用L1的第一个滚动编号(第一个元素),并将其与L2的第一行连接起来,并产生L3的第一行,第一个元素为滚动编号,然后是的标记受试者等直到L1的长度。 L1和L2的长度相同。我尝试了以下代码,但无法正常运行

val L1 = List(1,2,3) // roll numbers
val L2 = List(List(34,67,21,56,87) ,List(65,21,34,98,77) , List(76,65,59,88,90)) // marks
      //I want L3 =List(List(1,34,67,21,56,87) , List(2,65,21,34,98,77) ,List(3,76,65,59,88,90))
val L3 = L1.map(x => x :: L2.map(row => row))

2 个答案:

答案 0 :(得分:4)

val L1 = List(1,2,3) // roll numbers
val L2 = List(List(34,67,21,56,87) ,List(65,21,34,98,77) , List(76,65,59,88,90)) // marks

val L3 = (L1, L2).zipped.map(_ :: _)

答案 1 :(得分:1)

val L3 = L1.zip(L2).map(x => x._1 :: x._2)