在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))
答案 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)