Scala - 如何使用map将类型(A,B)的元组列表转换为类型(B,A)

cdu*_*gan 6 scala

List[String, Int]A 转换为List[Int, String]B 的最佳方法是什么.我想使用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)
Run Code Online (Sandbox Code Playgroud)

有什么建议?谢谢

Jea*_*let 18

这个怎么样:

val listB = listA.map(_.swap)
Run Code Online (Sandbox Code Playgroud)


Kim*_*bel 7

您需要使用模式匹配来获取一对元素.我发誓这样的问题就在几天前被问到....

listA.map{case (a,b) => (b,a)}
Run Code Online (Sandbox Code Playgroud)