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

我在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创建一个新列表,该列表仅包含来自元组的字符串,在该字符串中附加了单词“ append”。因此,结果应为:

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

有人可以帮助我了解我该怎么做吗?我是Scala的新手,我无法解决这个问题。预先感谢

fishingboy123 回答:如何将FlatMap应用于Scala中的元组列表(Int,String)?

您不希望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"
}
,

您不需要flatMap,简单的map就足够了

val result = a.map(t => t._2 + "appended")
本文链接:https://www.f2er.com/2939014.html

大家都在问