scala通过使用元组省略现有列表中的n元素来创建新列表

时间:2012-12-25 15:38:47

标签: list scala

我是scala的新手,所以请尽量详细说明。

我有一个列表,例如:

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

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

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

2 个答案:

答案 0 :(得分:9)

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

trioElmList.map { case (x,y,z) => (x,z) }

答案 1 :(得分:-2)

如果您的case输入得当,则不需要任何List

val l: List[Tuple3[_, _, _]] = List((1,2,3), (2,3,4), (3,4,5))
l map (e => (e._1, e._3))