2

我是scala的新手,所以请尝试详细说明。

我有一个清单,例如:

val trioElmList = List((10,20,30),(50,89,90),(60,40,65))

如何获得一个省略每个元组中间元素的新列表?结果应该是:

newList : List[(Int, Int)] = List((10,30), (50,90), (60,65))
4

2 回答 2

9

您可以使用 map 方法将函数应用于列表的每个元素,并使用该函数的返回值创建一个新列表。在函数中,您使用模式匹配来获取元组的元素并返回一个仅包含第一个和最后一个元素的元组。

trioElmList.map { case (x,y,z) => (x,z) }
于 2012-12-25T15:42:12.777 回答
-2

case如果您的输入正确,则不需要任何List内容​​。

val l: List[Tuple3[_, _, _]] = List((1,2,3), (2,3,4), (3,4,5))
l map (e => (e._1, e._3))
于 2012-12-25T20:15:00.620 回答