6

List[String, Int]将A转换为 B 的最佳方法是什么List[Int, String]。我想使用 map 函数,它会遍历列表 A 中的所有项目,然后返回一个新列表 B 但是每当我在列表 A 上应用 map 函数时,它都会抱怨参数数量错误

val listA:List[(String, Int)] = List(("graduates", 20), ("teachers", 10), ("students", 300))
val listB:List[(Int, String)] = listA.map((x:String, y:Int) => y, x)

有什么建议么?谢谢

4

2 回答 2

18

这个怎么样:

val listB = listA.map(_.swap)
于 2012-10-18T20:28:33.543 回答
7

您需要使用模式匹配来获取一对元素。我发誓前几天有人问过这样的问题......

listA.map{case (a,b) => (b,a)}
于 2012-10-18T20:28:23.257 回答