如何将 flatMap 应用于 Scala 中的元组列表(Int,String)?

How to apply flatMap to list of tuples (Int,String) in Scala?

我在 Scala 中有以下 List 个元组:

var a : List[(Int,String)] = List()
a = a:+((1,"bla bla bla"))
a = a:+((2,"la la la"))
a = a:+((3,"bla la bla"))

看起来像这样:

print(a)
List((1,bla bla bla), (2,la la la), (3,bla la bla))

我想做的是应用 flatMap 函数,以便从列表 a 创建一个新列表,该列表仅包含元组中的字符串,它附加了单词 "appended"。因此结果应该是:

List(bla bla blaappended, la la laappended, bla la blaappended)

有人可以帮助我了解我该怎么做吗?我是 Scala 的新手,我无法理解这个问题。提前致谢

不需要flatMap,简单map就够了

val result = a.map(t => t._2 + "appended")

你不想要 flatMap 你只想要 map,因为你只想执行一对一的转换。
另外,对于这种情况 pattern matching 很有帮助。
(顺便说一句,考虑阅读所有导览和其他基础教程)

// Avoid mutability ;)
val list : List[(Int,String)] = List(
  1 -> "bla bla bla",
  2 -> "la la la",
  3 -> "bla la bla"
)

val result = list.map {
  case (_, str) => s"${str} appended"
}