如何将 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"
}
我在 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"
}